{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# OnlineStats Integration\n",
    "\n",
    "- OnlineStats is a Julia package for running statistical algorithms both online (one observation at a time) and in parallel.\n",
    "- In this notebook we will go over how to run these calculations through JuliaDB.\n",
    "\n",
    "First we'll load OnlineStats, JuliaDB and Plots (with GR backend)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "using OnlineStats, JuliaDB, Plots\n",
    "gr()\n",
    "\n",
    "# print table rather than column summary\n",
    "IndexedTables.set_show_compact!(false);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we'll see:\n",
    "1. An Intro to OnlineStats\n",
    "1. An Example Using OnlineStats with `partitionplot`, `reduce`, and `groupreduce` (all available for out-of-core processing!)\n",
    "1. Mosaic Plots\n",
    "1. Linear Regression\n",
    "1. Approximate Solutions to Statistical Learning Models with `StatLearn`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Intro to OnlineStats"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Every stat is a type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Mean: n=0 | value=0.0"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m = Mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Stats can be `fit!`-ted with more data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Mean: n=100 | value=0.139187"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fit!(m, randn(100))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Stats can be `merge!`-ed together"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Mean: n=200 | value=0.0827811"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m2 = fit!(Mean(), randn(100))\n",
    "\n",
    "merge!(m, m2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### `fit!`-ting and `merge!`-ing works quite well with JuliaDB\n",
    "\n",
    "- JuliaDB can send stats to the worker processes and then merge them at the end.\n",
    "\n",
    "<img src=\"https://user-images.githubusercontent.com/8075494/32748459-519986e8-c88a-11e7-89b3-80dedf7f261b.png\" width=400>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example: Diamonds Dataset\n",
    "\n",
    "- OnlineStats operations are available through `partitionplot`, `reduce` and `groupreduce`.\n",
    "- Here we will take a look at a dataset about diamond quality.\n",
    "\n",
    "\n",
    "- First let's examine the first few rows of the data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\"\",\"carat\",\"cut\",\"color\",\"clarity\",\"depth\",\"table\",\"price\",\"x\",\"y\",\"z\"\n",
      "\"1\",0.23,\"Ideal\",\"E\",\"SI2\",61.5,55,326,3.95,3.98,2.43\n",
      "\"2\",0.21,\"Premium\",\"E\",\"SI1\",59.8,61,326,3.89,3.84,2.31\n",
      "\"3\",0.23,\"Good\",\"E\",\"VS1\",56.9,65,327,4.05,4.07,2.31\n",
      "\"4\",0.29,\"Premium\",\"I\",\"VS2\",62.4,58,334,4.2,4.23,2.63\n",
      "\"5\",0.31,\"Good\",\"J\",\"SI2\",63.3,58,335,4.34,4.35,2.75\n",
      "\"6\",0.24,\"Very Good\",\"J\",\"VVS2\",62.8,57,336,3.94,3.96,2.48\n",
      "\"7\",0.24,\"Very Good\",\"I\",\"VVS1\",62.3,57,336,3.95,3.98,2.47\n",
      "\"8\",0.26,\"Very Good\",\"H\",\"SI1\",61.9,55,337,4.07,4.11,2.53\n",
      "\"9\",0.22,\"Fair\",\"E\",\"VS2\",65.1,61,337,3.87,3.78,2.49\n"
     ]
    }
   ],
   "source": [
    ";head diamonds.csv"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- The first column is the row number, so we'll only load the other columns.  Here we sort the data by column 2, `:carat`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Table with 53940 rows, 10 columns:\n",
       "\u001b[1mcarat  \u001b[22mcut          color  clarity  depth  table  price  x      y      z\n",
       "───────────────────────────────────────────────────────────────────────────\n",
       "0.2    \"Premium\"    \"E\"    \"SI2\"    60.2   62.0   345    3.79   3.75   2.27\n",
       "0.2    \"Premium\"    \"E\"    \"VS2\"    59.8   62.0   367    3.79   3.77   2.26\n",
       "0.2    \"Premium\"    \"E\"    \"VS2\"    59.0   60.0   367    3.81   3.78   2.24\n",
       "0.2    \"Premium\"    \"E\"    \"VS2\"    61.1   59.0   367    3.81   3.78   2.32\n",
       "0.2    \"Premium\"    \"E\"    \"VS2\"    59.7   62.0   367    3.84   3.8    2.28\n",
       "0.2    \"Ideal\"      \"E\"    \"VS2\"    59.7   55.0   367    3.86   3.84   2.3\n",
       "0.2    \"Premium\"    \"F\"    \"VS2\"    62.6   59.0   367    3.73   3.71   2.33\n",
       "0.2    \"Ideal\"      \"D\"    \"VS2\"    61.5   57.0   367    3.81   3.77   2.33\n",
       "0.2    \"Very Good\"  \"E\"    \"VS2\"    63.4   59.0   367    3.74   3.71   2.36\n",
       "0.2    \"Ideal\"      \"E\"    \"VS2\"    62.2   57.0   367    3.76   3.73   2.33\n",
       "0.2    \"Premium\"    \"D\"    \"VS2\"    62.3   60.0   367    3.73   3.68   2.31\n",
       "0.2    \"Premium\"    \"D\"    \"VS2\"    61.7   60.0   367    3.77   3.72   2.31\n",
       "⋮\n",
       "3.4    \"Fair\"       \"D\"    \"I1\"     66.8   52.0   15964  9.42   9.34   6.27\n",
       "3.5    \"Ideal\"      \"H\"    \"I1\"     62.8   57.0   12587  9.65   9.59   6.03\n",
       "3.51   \"Premium\"    \"J\"    \"VS2\"    62.5   59.0   18701  9.66   9.63   6.03\n",
       "3.65   \"Fair\"       \"H\"    \"I1\"     67.1   53.0   11668  9.53   9.48   6.38\n",
       "3.67   \"Premium\"    \"I\"    \"I1\"     62.4   56.0   16193  9.86   9.81   6.13\n",
       "4.0    \"Very Good\"  \"I\"    \"I1\"     63.3   58.0   15984  10.01  9.94   6.31\n",
       "4.01   \"Premium\"    \"I\"    \"I1\"     61.0   61.0   15223  10.14  10.1   6.17\n",
       "4.01   \"Premium\"    \"J\"    \"I1\"     62.5   62.0   15223  10.02  9.94   6.24\n",
       "4.13   \"Fair\"       \"H\"    \"I1\"     64.8   61.0   17329  10.0   9.85   6.43\n",
       "4.5    \"Fair\"       \"J\"    \"I1\"     65.8   58.0   18531  10.23  10.16  6.72\n",
       "5.01   \"Fair\"       \"J\"    \"I1\"     65.5   59.0   18018  10.74  10.54  6.98"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "using JuliaDB\n",
    "t = loadtable(\"diamonds.csv\", indexcols = [2], datacols = 3:11)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# `partitionplot`\n",
    "\n",
    "`partitionplot(table[, x], y; by, stat, nparts, dropmissing)`\n",
    "\n",
    "- We introduced `partitionplot` in the previous notebook.  \n",
    "- Here we'll go through some more advanced examples.\n",
    "- If only one variable is provided, the x-axis will be the number of observations.  \n",
    "- Note that `:carat` is our index variable and thus it is sorted:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 600 400\">\n",
       "<defs>\n",
       "  <clipPath id=\"clip7600\">\n",
       "    <rect x=\"0\" y=\"0\" width=\"600\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip7600)\" points=\"\n",
       "0,400 600,400 600,0 0,0 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip7601\">\n",
       "    <rect x=\"120\" y=\"0\" width=\"421\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip7600)\" points=\"\n",
       "22.4386,375.869 580.315,375.869 580.315,11.811 22.4386,11.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip7602\">\n",
       "    <rect x=\"22\" y=\"11\" width=\"559\" height=\"365\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  125.223,375.869 125.223,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  228.017,375.869 228.017,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  330.812,375.869 330.812,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  433.607,375.869 433.607,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  536.401,375.869 536.401,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  22.4386,315.319 580.315,315.319 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  22.4386,239.631 580.315,239.631 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  22.4386,163.943 580.315,163.943 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  22.4386,88.2556 580.315,88.2556 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  22.4386,12.5679 580.315,12.5679 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  22.4386,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  22.4386,375.869 22.4386,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  125.223,375.869 125.223,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  228.017,375.869 228.017,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  330.812,375.869 330.812,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  433.607,375.869 433.607,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  536.401,375.869 536.401,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  22.4386,315.319 30.8068,315.319 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  22.4386,239.631 30.8068,239.631 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  22.4386,163.943 30.8068,163.943 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  22.4386,88.2556 30.8068,88.2556 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  22.4386,12.5679 30.8068,12.5679 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 108.955, 394.62)\" x=\"108.955\" y=\"394.62\">1×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 136.054, 387.768)\" x=\"136.054\" y=\"387.768\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 211.75, 394.62)\" x=\"211.75\" y=\"394.62\">2×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 238.849, 387.768)\" x=\"238.849\" y=\"387.768\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 314.544, 394.62)\" x=\"314.544\" y=\"394.62\">3×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 341.644, 387.768)\" x=\"341.644\" y=\"387.768\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 417.339, 394.62)\" x=\"417.339\" y=\"394.62\">4×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 444.438, 387.768)\" x=\"444.438\" y=\"387.768\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 520.133, 394.62)\" x=\"520.133\" y=\"394.62\">5×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 547.233, 387.768)\" x=\"547.233\" y=\"387.768\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 16.4386, 319.819)\" x=\"16.4386\" y=\"319.819\">1</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 16.4386, 244.131)\" x=\"16.4386\" y=\"244.131\">2</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 16.4386, 168.443)\" x=\"16.4386\" y=\"168.443\">3</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 16.4386, 92.7556)\" x=\"16.4386\" y=\"92.7556\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 16.4386, 17.0679)\" x=\"16.4386\" y=\"17.0679\">5</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip7602)\" points=\"\n",
       "27.6966,371.327 38.2227,368.3 48.7489,368.3 59.275,368.3 69.8012,367.543 77.6958,367.543 82.9589,367.543 88.222,366.786 93.4851,366.786 98.7482,366.786 \n",
       "  104.011,366.786 109.274,366.029 114.537,366.029 119.8,365.272 125.064,365.272 130.327,364.516 135.59,363.759 140.853,363.002 146.116,362.245 151.379,361.488 \n",
       "  156.642,360.731 161.905,360.731 167.168,360.731 172.431,359.974 177.694,359.974 182.957,359.217 188.221,359.217 193.484,358.461 198.747,356.19 204.01,353.162 \n",
       "  209.273,353.162 214.536,352.406 219.799,352.406 225.062,352.406 230.325,351.649 235.588,350.892 240.851,350.892 246.114,350.135 251.378,349.378 256.641,348.621 \n",
       "  261.904,347.864 267.167,346.35 272.43,344.837 277.693,340.295 282.956,338.025 288.219,338.025 293.482,338.025 298.745,338.025 304.008,337.268 309.271,337.268 \n",
       "  314.534,336.511 319.798,336.511 325.061,335.754 330.324,334.24 335.587,332.727 340.85,330.456 346.113,328.942 351.376,322.887 356.639,322.887 361.902,322.887 \n",
       "  367.165,322.13 372.428,321.374 377.691,317.589 382.955,315.319 388.218,315.319 393.481,315.319 398.744,314.562 404.007,314.562 409.27,314.562 414.533,314.562 \n",
       "  419.796,313.805 425.059,313.805 430.322,313.048 435.585,312.291 440.848,310.777 446.112,310.02 451.375,308.507 456.638,306.993 461.901,305.479 467.164,303.965 \n",
       "  472.427,300.938 477.69,300.181 482.953,299.424 488.216,297.91 493.479,296.397 498.742,294.126 504.005,290.342 509.269,282.016 514.532,277.475 519.795,276.718 \n",
       "  525.058,276.718 530.321,275.961 535.584,273.69 540.847,269.906 546.11,262.337 551.373,250.984 556.636,238.874 561.899,237.36 567.162,230.548 572.425,207.842 \n",
       "  577.689,11.811 577.689,207.842 572.425,230.548 567.162,237.36 561.899,238.874 556.636,250.984 551.373,262.337 546.11,269.906 540.847,273.69 535.584,275.961 \n",
       "  530.321,276.718 525.058,276.718 519.795,277.475 514.532,282.016 509.269,290.342 504.005,294.126 498.742,296.397 493.479,297.91 488.216,299.424 482.953,300.181 \n",
       "  477.69,300.938 472.427,303.965 467.164,305.479 461.901,306.993 456.638,308.507 451.375,310.02 446.112,310.777 440.848,312.291 435.585,313.048 430.322,313.805 \n",
       "  425.059,313.805 419.796,314.562 414.533,314.562 409.27,314.562 404.007,314.562 398.744,315.319 393.481,315.319 388.218,315.319 382.955,317.589 377.691,321.374 \n",
       "  372.428,322.13 367.165,322.887 361.902,322.887 356.639,322.887 351.376,328.942 346.113,330.456 340.85,332.727 335.587,334.24 330.324,335.754 325.061,336.511 \n",
       "  319.798,336.511 314.534,337.268 309.271,337.268 304.008,338.025 298.745,338.025 293.482,338.025 288.219,338.025 282.956,340.295 277.693,344.837 272.43,346.35 \n",
       "  267.167,347.864 261.904,348.621 256.641,349.378 251.378,350.135 246.114,350.892 240.851,350.892 235.588,351.649 230.325,352.406 225.062,352.406 219.799,352.406 \n",
       "  214.536,353.162 209.273,353.162 204.01,356.19 198.747,358.461 193.484,359.217 188.221,359.217 182.957,359.974 177.694,359.974 172.431,360.731 167.168,360.731 \n",
       "  161.905,360.731 156.642,361.488 151.379,362.245 146.116,363.002 140.853,363.759 135.59,364.516 130.327,365.272 125.064,365.272 119.8,366.029 114.537,366.029 \n",
       "  109.274,366.786 104.011,366.786 98.7482,366.786 93.4851,366.786 88.222,367.543 82.9589,367.543 77.6958,367.543 69.8012,368.3 59.275,368.3 48.7489,368.3 \n",
       "  38.2227,371.327 27.6966,375.869 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"0.4\"/>\n",
       "<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#009af9; stroke-width:0; stroke-opacity:0.4; fill:none\" points=\"\n",
       "  27.6966,371.327 38.2227,368.3 48.7489,368.3 59.275,368.3 69.8012,367.543 77.6958,367.543 82.9589,367.543 88.222,366.786 93.4851,366.786 98.7482,366.786 \n",
       "  104.011,366.786 109.274,366.029 114.537,366.029 119.8,365.272 125.064,365.272 130.327,364.516 135.59,363.759 140.853,363.002 146.116,362.245 151.379,361.488 \n",
       "  156.642,360.731 161.905,360.731 167.168,360.731 172.431,359.974 177.694,359.974 182.957,359.217 188.221,359.217 193.484,358.461 198.747,356.19 204.01,353.162 \n",
       "  209.273,353.162 214.536,352.406 219.799,352.406 225.062,352.406 230.325,351.649 235.588,350.892 240.851,350.892 246.114,350.135 251.378,349.378 256.641,348.621 \n",
       "  261.904,347.864 267.167,346.35 272.43,344.837 277.693,340.295 282.956,338.025 288.219,338.025 293.482,338.025 298.745,338.025 304.008,337.268 309.271,337.268 \n",
       "  314.534,336.511 319.798,336.511 325.061,335.754 330.324,334.24 335.587,332.727 340.85,330.456 346.113,328.942 351.376,322.887 356.639,322.887 361.902,322.887 \n",
       "  367.165,322.13 372.428,321.374 377.691,317.589 382.955,315.319 388.218,315.319 393.481,315.319 398.744,314.562 404.007,314.562 409.27,314.562 414.533,314.562 \n",
       "  419.796,313.805 425.059,313.805 430.322,313.048 435.585,312.291 440.848,310.777 446.112,310.02 451.375,308.507 456.638,306.993 461.901,305.479 467.164,303.965 \n",
       "  472.427,300.938 477.69,300.181 482.953,299.424 488.216,297.91 493.479,296.397 498.742,294.126 504.005,290.342 509.269,282.016 514.532,277.475 519.795,276.718 \n",
       "  525.058,276.718 530.321,275.961 535.584,273.69 540.847,269.906 546.11,262.337 551.373,250.984 556.636,238.874 561.899,237.36 567.162,230.548 572.425,207.842 \n",
       "  577.689,11.811 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip7600)\" points=\"\n",
       "457.515,62.931 562.315,62.931 562.315,32.691 457.515,32.691 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  457.515,62.931 562.315,62.931 562.315,32.691 457.515,32.691 457.515,62.931 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip7600)\" points=\"\n",
       "463.515,53.859 499.515,53.859 499.515,41.763 463.515,41.763 463.515,53.859 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"0.4\"/>\n",
       "<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#009af9; stroke-width:0; stroke-opacity:0.4; fill:none\" points=\"\n",
       "  463.515,41.763 499.515,41.763 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip7600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 505.515, 52.311)\" x=\"505.515\" y=\"52.311\">Extrema</text>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "partitionplot(t, :carat)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- When we provide two variables, the summary of the `y` variable is plotted in each \"section\" of the `x` variable.  \n",
    "\n",
    "- In this example, we'll use the Interact package to choose which statistic to summarize `y` with in the of plot `y = :price` vs. `x = :carat`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div id=\"interact-js-shim\">\n",
       "    <script charset=\"utf-8\">\n",
       "(function (IPython, $, _, MathJax) {\n",
       "    $.event.special.destroyed = {\n",
       "\tremove: function(o) {\n",
       "\t    if (o.handler) {\n",
       "\t\to.handler.apply(this, arguments)\n",
       "\t    }\n",
       "\t}\n",
       "    }\n",
       "\n",
       "    var OutputArea = IPython.version >= \"4.0.0\" ? require(\"notebook/js/outputarea\").OutputArea : IPython.OutputArea;\n",
       "\n",
       "    var redrawValue = function (container, type, val) {\n",
       "\tvar selector = $(\"<div/>\");\n",
       "\tvar oa = new OutputArea(_.extend(selector, {\n",
       "\t    selector: selector,\n",
       "\t    prompt_area: true,\n",
       "\t    events: IPython.events,\n",
       "\t    keyboard_manager: IPython.keyboard_manager\n",
       "\t})); // Hack to work with IPython 2.1.0\n",
       "\n",
       "\tswitch (type) {\n",
       "\tcase \"image/png\":\n",
       "            var _src = 'data:' + type + ';base64,' + val;\n",
       "\t    $(container).find(\"img\").attr('src', _src);\n",
       "\t    break;\n",
       "\tcase \"text/latex\":\n",
       "\t\tif (MathJax){\n",
       "\t\t\tvar math = MathJax.Hub.getAllJax(container)[0];\n",
       "\t\t\tMathJax.Hub.Queue([\"Text\", math, val.replace(/^\\${1,2}|\\${1,2}$/g, '')]);\n",
       "\t\t\tbreak;\n",
       "\t\t}\n",
       "\tdefault:\n",
       "\t    var toinsert = OutputArea.append_map[type].apply(\n",
       "\t\toa, [val, {}, selector]\n",
       "\t    );\n",
       "\t    $(container).empty().append(toinsert.contents());\n",
       "\t    selector.remove();\n",
       "\t}\n",
       "    }\n",
       "\n",
       "\n",
       "    $(document).ready(function() {\n",
       "\tfunction initComm(evt, data) {\n",
       "\t    var comm_manager = data.kernel.comm_manager;\n",
       "        //_.extend(comm_manager.targets, require(\"widgets/js/widget\"))\n",
       "\t    comm_manager.register_target(\"Signal\", function (comm) {\n",
       "            comm.on_msg(function (msg) {\n",
       "                var val = msg.content.data.value;\n",
       "                $(\".signal-\" + comm.comm_id).each(function() {\n",
       "                var type = $(this).data(\"type\");\n",
       "                if (typeof(val[type]) !== \"undefined\" && val[type] !== null) {\n",
       "                    redrawValue(this, type, val[type], type);\n",
       "                }\n",
       "                });\n",
       "                delete val;\n",
       "                delete msg.content.data.value;\n",
       "            });\n",
       "\t    });\n",
       "\n",
       "\t    // coordingate with Comm and redraw Signals\n",
       "\t    // XXX: Test using Reactive here to improve performance\n",
       "\t    $([IPython.events]).on(\n",
       "\t\t'output_appended.OutputArea', function (event, type, value, md, toinsert) {\n",
       "\t\t    if (md && md.reactive) {\n",
       "                // console.log(md.comm_id);\n",
       "                toinsert.addClass(\"signal-\" + md.comm_id);\n",
       "                toinsert.data(\"type\", type);\n",
       "                // Signal back indicating the mimetype required\n",
       "                var comm_manager = IPython.notebook.kernel.comm_manager;\n",
       "                var comm = comm_manager.comms[md.comm_id];\n",
       "                comm.then(function (c) {\n",
       "                    c.send({action: \"subscribe_mime\",\n",
       "                       mime: type});\n",
       "                    toinsert.bind(\"destroyed\", function() {\n",
       "                        c.send({action: \"unsubscribe_mime\",\n",
       "                               mime: type});\n",
       "                    });\n",
       "                })\n",
       "\t\t    }\n",
       "\t    });\n",
       "\t}\n",
       "\n",
       "\ttry {\n",
       "\t    // try to initialize right away. otherwise, wait on the status_started event.\n",
       "\t    initComm(undefined, IPython.notebook);\n",
       "\t} catch (e) {\n",
       "\t    $([IPython.events]).on('kernel_created.Kernel kernel_created.Session', initComm);\n",
       "\t}\n",
       "    });\n",
       "})(IPython, jQuery, _, MathJax);\n",
       "</script>\n",
       "    <script>\n",
       "        window.interactLoadedFlag = true\n",
       "       $(\"#interact-js-shim\").bind(\"destroyed\", function () {\n",
       "           if (window.interactLoadedFlag) {\n",
       "               console.warn(\"JavaScript required by Interact will be removed if you remove this cell or run using Interact more than once.\")\n",
       "           }\n",
       "       })\n",
       "       $([IPython.events]).on(\"kernel_starting.Kernel kernel_restarting.Kernel\", function () { window.interactLoadedFlag = false })\n",
       "   </script>\n",
       "</div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[1m\u001b[36mINFO: \u001b[39m\u001b[22m\u001b[36mInteract.jl: using new nbwidgetsextension protocol\n",
      "\u001b[39m"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "27cad1de-59b1-42dc-b98e-b0a4077f7dd4",
       "version_major": 2,
       "version_minor": 0
      }
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [],
      "text/plain": [
       "Interact.Options{:ToggleButtons,OnlineStatsBase.OnlineStat{Number}}(1: \"input\" = Mean: n=0 | value=0.0 OnlineStatsBase.OnlineStat{Number} , \"summarizer\", Mean: n=0 | value=0.0, \"Mean: n=0 | value=0.0\", 1, Interact.OptionDict(DataStructures.OrderedDict{String,OnlineStatsBase.OnlineStat{Number}}(\"Mean: n=0 | value=0.0\"=>Mean: n=0 | value=0.0,\"Extrema: n=0 | value=(Inf, -Inf)\"=>Extrema: n=0 | value=(Inf, -Inf),\"Hist: AdaptiveBins\"=>Hist: AdaptiveBins), Dict{OnlineStatsBase.OnlineStat{Number},String}(Pair{OnlineStatsBase.OnlineStat{Number},String}(Mean: n=0 | value=0.0, \"Mean: n=0 | value=0.0\"),Pair{OnlineStatsBase.OnlineStat{Number},String}(Hist: AdaptiveBins, \"Hist: AdaptiveBins\"),Pair{OnlineStatsBase.OnlineStat{Number},String}(Extrema: n=0 | value=(Inf, -Inf), \"Extrema: n=0 | value=(Inf, -Inf)\"))), Any[], Any[], true, \"horizontal\", true)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 600 400\">\n",
       "<defs>\n",
       "  <clipPath id=\"clip7800\">\n",
       "    <rect x=\"0\" y=\"0\" width=\"600\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip7800)\" points=\"\n",
       "0,400 600,400 600,0 0,0 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip7801\">\n",
       "    <rect x=\"120\" y=\"0\" width=\"421\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip7800)\" points=\"\n",
       "72.6782,375.869 580.315,375.869 580.315,11.811 72.6782,11.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip7802\">\n",
       "    <rect x=\"72\" y=\"11\" width=\"509\" height=\"365\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  157.108,375.869 157.108,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  262.646,375.869 262.646,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  368.184,375.869 368.184,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  473.722,375.869 473.722,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  579.26,375.869 579.26,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  72.6782,333.884 580.315,333.884 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  72.6782,281.997 580.315,281.997 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  72.6782,230.11 580.315,230.11 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  72.6782,178.223 580.315,178.223 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  72.6782,126.336 580.315,126.336 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  72.6782,74.449 580.315,74.449 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  72.6782,22.562 580.315,22.562 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  72.6782,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  72.6782,375.869 72.6782,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  157.108,375.869 157.108,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  262.646,375.869 262.646,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  368.184,375.869 368.184,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  473.722,375.869 473.722,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  579.26,375.869 579.26,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  72.6782,333.884 80.2927,333.884 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  72.6782,281.997 80.2927,281.997 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  72.6782,230.11 80.2927,230.11 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  72.6782,178.223 80.2927,178.223 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  72.6782,126.336 80.2927,126.336 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  72.6782,74.449 80.2927,74.449 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  72.6782,22.562 80.2927,22.562 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 157.108, 389.669)\" x=\"157.108\" y=\"389.669\">1</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 262.646, 389.669)\" x=\"262.646\" y=\"389.669\">2</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 368.184, 389.669)\" x=\"368.184\" y=\"389.669\">3</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 473.722, 389.669)\" x=\"473.722\" y=\"389.669\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 579.26, 389.669)\" x=\"579.26\" y=\"389.669\">5</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 339.816)\" x=\"17.4163\" y=\"339.816\">2.50×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 61.2421, 332.963)\" x=\"61.2421\" y=\"332.963\">3</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 287.929)\" x=\"17.4163\" y=\"287.929\">5.00×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 61.2421, 281.076)\" x=\"61.2421\" y=\"281.076\">3</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 236.042)\" x=\"17.4163\" y=\"236.042\">7.50×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 61.2421, 229.189)\" x=\"61.2421\" y=\"229.189\">3</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 184.155)\" x=\"17.4163\" y=\"184.155\">1.00×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 61.2421, 177.302)\" x=\"61.2421\" y=\"177.302\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 132.268)\" x=\"17.4163\" y=\"132.268\">1.25×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 61.2421, 125.415)\" x=\"61.2421\" y=\"125.415\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 80.3809)\" x=\"17.4163\" y=\"80.3809\">1.50×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 61.2421, 73.5283)\" x=\"61.2421\" y=\"73.5283\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 28.4939)\" x=\"17.4163\" y=\"28.4939\">1.75×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 61.2421, 21.6413)\" x=\"61.2421\" y=\"21.6413\">4</text>\n",
       "</g>\n",
       "<polyline clip-path=\"url(#clip7802)\" style=\"stroke:#009af9; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  74.2612,375.869 76.8997,375.286 77.9551,374.337 79.0104,374.337 80.0658,373.842 81.6489,373.558 83.232,371.652 84.2873,371.072 85.3427,370.825 86.3981,369.879 \n",
       "  87.4535,370.073 88.5088,369.153 89.5642,369.554 90.6196,368.834 91.675,367 92.7304,366.628 93.7857,366.411 94.8411,365.564 95.8965,365.132 96.9519,365.116 \n",
       "  98.0072,363.841 99.5903,361.23 102.229,358.897 104.34,354.546 105.395,352.057 106.45,351.41 107.506,350.83 108.561,350.407 109.616,349.96 110.672,347.748 \n",
       "  111.727,348.489 112.783,348.441 113.838,347.76 115.421,344.133 117.532,342.39 121.753,340.114 125.447,333.551 126.502,330.298 127.558,329.613 128.613,327.839 \n",
       "  129.669,327.203 130.724,328.417 131.779,325.798 132.835,325.906 134.418,324.513 136.001,320.473 137.056,321.547 138.639,320.784 142.861,317.497 146.555,304.014 \n",
       "  147.61,303.143 148.665,302.021 150.776,301.845 154.47,307.011 157.108,276.983 158.164,271.479 159.219,269.576 160.275,269.924 161.33,266.006 162.385,265.773 \n",
       "  163.441,262.415 164.496,261.224 165.551,265.926 166.607,261.033 167.662,263.192 168.718,261.127 169.773,260.319 170.828,257.228 171.884,253.884 173.467,258.578 \n",
       "  176.105,252.871 178.216,247.062 179.271,242.574 180.327,241.233 181.382,234.809 182.965,237.794 185.076,233.993 187.187,232.588 190.353,225.964 195.63,220.484 \n",
       "  203.017,200.966 208.822,177.509 210.933,166.919 211.988,165.558 213.571,162.233 216.21,168.721 219.376,156.555 224.125,152.958 229.929,133.057 237.317,130.908 \n",
       "  252.62,102.798 263.702,79.9463 265.812,79.1305 271.089,75.1255 282.698,75.2961 309.083,62.292 338.106,89.0094 380.849,91.3513 468.445,59.0843 580.315,11.811 \n",
       "  \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip7800)\" points=\"\n",
       "472.219,62.931 562.315,62.931 562.315,32.691 472.219,32.691 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  472.219,62.931 562.315,62.931 562.315,32.691 472.219,32.691 472.219,62.931 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip7800)\" style=\"stroke:#009af9; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  478.219,47.811 514.219,47.811 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip7800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 520.219, 52.311)\" x=\"520.219\" y=\"52.311\">Mean</text>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "execution_count": 8,
     "metadata": {
      "comm_id": "1c6c7f86-c833-4cd3-bbc0-af555ded1373",
      "reactive": true
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import Interact\n",
    "\n",
    "Interact.@manipulate for summarizer in [Mean(), Extrema(), Hist(10)]\n",
    "    partitionplot(t, :carat, :price, stat = summarizer)\n",
    "end"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Any selector is a valid input to the `x` and `y` arguments of `partitionplot`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 600 400\">\n",
       "<defs>\n",
       "  <clipPath id=\"clip8000\">\n",
       "    <rect x=\"0\" y=\"0\" width=\"600\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip8000)\" points=\"\n",
       "0,400 600,400 600,0 0,0 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8001\">\n",
       "    <rect x=\"120\" y=\"0\" width=\"421\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip8000)\" points=\"\n",
       "65.9876,375.869 520.315,375.869 520.315,11.811 65.9876,11.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8002\">\n",
       "    <rect x=\"65\" y=\"11\" width=\"455\" height=\"365\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip8002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  66.9321,375.869 66.9321,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  161.387,375.869 161.387,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  255.842,375.869 255.842,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  350.296,375.869 350.296,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  444.751,375.869 444.751,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  65.9876,371.784 520.315,371.784 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  65.9876,278.688 520.315,278.688 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  65.9876,185.592 520.315,185.592 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  65.9876,92.4953 520.315,92.4953 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,375.869 520.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,375.869 65.9876,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  66.9321,375.869 66.9321,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  161.387,375.869 161.387,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  255.842,375.869 255.842,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  350.296,375.869 350.296,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  444.751,375.869 444.751,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,371.784 72.8025,371.784 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,278.688 72.8025,278.688 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,185.592 72.8025,185.592 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,92.4953 72.8025,92.4953 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 66.9321, 389.669)\" x=\"66.9321\" y=\"389.669\">-5</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 161.387, 389.669)\" x=\"161.387\" y=\"389.669\">-4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 255.842, 389.669)\" x=\"255.842\" y=\"389.669\">-3</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 350.296, 389.669)\" x=\"350.296\" y=\"389.669\">-2</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 444.751, 389.669)\" x=\"444.751\" y=\"389.669\">-1</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 59.9876, 376.284)\" x=\"59.9876\" y=\"376.284\">0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 284.62)\" x=\"17.4163\" y=\"284.62\">5.0×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 54.5515, 277.767)\" x=\"54.5515\" y=\"277.767\">3</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 191.523)\" x=\"17.4163\" y=\"191.523\">1.0×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 54.5515, 184.671)\" x=\"54.5515\" y=\"184.671\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 98.4272)\" x=\"17.4163\" y=\"98.4272\">1.5×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 54.5515, 91.5746)\" x=\"54.5515\" y=\"91.5746\">4</text>\n",
       "</g>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"166.11\" cy=\"154.535\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"166.11\" cy=\"137.424\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"166.11\" cy=\"88.3432\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"166.11\" cy=\"88.3432\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"166.11\" cy=\"74.5463\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"166.11\" cy=\"74.174\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"166.11\" cy=\"70.2825\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"166.11\" cy=\"49.1311\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"166.11\" cy=\"26.7507\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"166.11\" cy=\"23.5855\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"244.507\" cy=\"250.535\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"244.507\" cy=\"222.048\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"244.507\" cy=\"187.938\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"244.507\" cy=\"173.238\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"244.507\" cy=\"156.769\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"244.507\" cy=\"135.642\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"244.507\" cy=\"100.52\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"244.507\" cy=\"79.5456\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"244.507\" cy=\"58.4965\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"244.507\" cy=\"28.8133\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"282.761\" cy=\"243.87\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"282.761\" cy=\"211.416\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"282.761\" cy=\"191.829\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"282.761\" cy=\"176.35\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"282.761\" cy=\"155.912\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"282.761\" cy=\"126.829\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"282.761\" cy=\"98.351\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"282.761\" cy=\"72.9125\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"282.761\" cy=\"50.242\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"282.761\" cy=\"24.4171\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"308.736\" cy=\"259.864\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"308.736\" cy=\"236.504\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"308.736\" cy=\"211.819\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"308.736\" cy=\"183.965\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"308.736\" cy=\"161.254\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a72d5f; stroke:none; fill-opacity:1\" cx=\"308.736\" cy=\"135.834\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"308.736\" cy=\"106.731\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b33358; stroke:none; fill-opacity:1\" cx=\"308.736\" cy=\"86.3789\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e8612b; stroke:none; fill-opacity:1\" cx=\"308.736\" cy=\"59.2833\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d94d3c; stroke:none; fill-opacity:1\" cx=\"308.736\" cy=\"32.6993\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"332.35\" cy=\"258.023\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"332.35\" cy=\"236.482\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"332.35\" cy=\"206.68\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"332.35\" cy=\"178.67\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#7a1c6c; stroke:none; fill-opacity:1\" cx=\"332.35\" cy=\"160.384\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c43c4e; stroke:none; fill-opacity:1\" cx=\"332.35\" cy=\"136.107\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e25832; stroke:none; fill-opacity:1\" cx=\"332.35\" cy=\"110.717\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"332.35\" cy=\"82.4527\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"332.35\" cy=\"57.7704\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d84c3d; stroke:none; fill-opacity:1\" cx=\"332.35\" cy=\"34.2601\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"342.74\" cy=\"263.519\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"342.74\" cy=\"246.134\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"342.74\" cy=\"225.921\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"342.74\" cy=\"184.112\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a92e5e; stroke:none; fill-opacity:1\" cx=\"342.74\" cy=\"153.62\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ce4346; stroke:none; fill-opacity:1\" cx=\"342.74\" cy=\"134.023\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cf4445; stroke:none; fill-opacity:1\" cx=\"342.74\" cy=\"111.958\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"342.74\" cy=\"89.9468\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e75f2c; stroke:none; fill-opacity:1\" cx=\"342.74\" cy=\"64.1105\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d84c3d; stroke:none; fill-opacity:1\" cx=\"342.74\" cy=\"32.6487\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"347.463\" cy=\"254.209\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"347.463\" cy=\"225.209\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"347.463\" cy=\"196.678\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#7a1c6c; stroke:none; fill-opacity:1\" cx=\"347.463\" cy=\"180.239\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bb3754; stroke:none; fill-opacity:1\" cx=\"347.463\" cy=\"151.954\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"347.463\" cy=\"131.96\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#de5337; stroke:none; fill-opacity:1\" cx=\"347.463\" cy=\"107.544\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e25832; stroke:none; fill-opacity:1\" cx=\"347.463\" cy=\"75.8084\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d74b3e; stroke:none; fill-opacity:1\" cx=\"347.463\" cy=\"50.7248\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ce4346; stroke:none; fill-opacity:1\" cx=\"347.463\" cy=\"30.6343\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"349.352\" cy=\"265.729\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"349.352\" cy=\"245.505\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"349.352\" cy=\"215.77\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"349.352\" cy=\"190.951\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#af305b; stroke:none; fill-opacity:1\" cx=\"349.352\" cy=\"171.914\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cf4445; stroke:none; fill-opacity:1\" cx=\"349.352\" cy=\"146.724\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"349.352\" cy=\"126.079\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d74b3e; stroke:none; fill-opacity:1\" cx=\"349.352\" cy=\"98.879\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ec6726; stroke:none; fill-opacity:1\" cx=\"349.352\" cy=\"70.8039\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#eb6527; stroke:none; fill-opacity:1\" cx=\"349.352\" cy=\"40.8799\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"359.27\" cy=\"273.474\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#8d2368; stroke:none; fill-opacity:1\" cx=\"359.27\" cy=\"251.452\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#801f6b; stroke:none; fill-opacity:1\" cx=\"359.27\" cy=\"212.015\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b53357; stroke:none; fill-opacity:1\" cx=\"359.27\" cy=\"182.431\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d24742; stroke:none; fill-opacity:1\" cx=\"359.27\" cy=\"158.886\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"359.27\" cy=\"135.295\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d34841; stroke:none; fill-opacity:1\" cx=\"359.27\" cy=\"113.899\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"359.27\" cy=\"89.5565\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c53d4d; stroke:none; fill-opacity:1\" cx=\"359.27\" cy=\"70.2493\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#db503a; stroke:none; fill-opacity:1\" cx=\"359.27\" cy=\"39.2089\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"372.966\" cy=\"272.953\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a12b61; stroke:none; fill-opacity:1\" cx=\"372.966\" cy=\"231.755\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cf4445; stroke:none; fill-opacity:1\" cx=\"372.966\" cy=\"202.561\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c23b4f; stroke:none; fill-opacity:1\" cx=\"372.966\" cy=\"176.754\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c23b4f; stroke:none; fill-opacity:1\" cx=\"372.966\" cy=\"150.771\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"372.966\" cy=\"127.848\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a72d5f; stroke:none; fill-opacity:1\" cx=\"372.966\" cy=\"96.5822\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"372.966\" cy=\"72.563\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"372.966\" cy=\"52.9746\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"372.966\" cy=\"31.8497\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"379.577\" cy=\"272.01\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#801f6b; stroke:none; fill-opacity:1\" cx=\"379.577\" cy=\"252.633\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"379.577\" cy=\"221.757\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"379.577\" cy=\"192.347\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e15634; stroke:none; fill-opacity:1\" cx=\"379.577\" cy=\"168.564\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"379.577\" cy=\"145.567\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d74b3e; stroke:none; fill-opacity:1\" cx=\"379.577\" cy=\"117.903\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bb3754; stroke:none; fill-opacity:1\" cx=\"379.577\" cy=\"83.8932\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ca4049; stroke:none; fill-opacity:1\" cx=\"379.577\" cy=\"49.4512\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"379.577\" cy=\"26.1094\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#7a1c6c; stroke:none; fill-opacity:1\" cx=\"384.772\" cy=\"263.325\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ba3655; stroke:none; fill-opacity:1\" cx=\"384.772\" cy=\"227.729\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d34841; stroke:none; fill-opacity:1\" cx=\"384.772\" cy=\"198.541\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"384.772\" cy=\"172.918\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c03951; stroke:none; fill-opacity:1\" cx=\"384.772\" cy=\"147.146\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#aa2e5d; stroke:none; fill-opacity:1\" cx=\"384.772\" cy=\"126.152\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"384.772\" cy=\"101.741\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"384.772\" cy=\"79.9195\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"384.772\" cy=\"53.8045\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"384.772\" cy=\"37.9542\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"389.023\" cy=\"288.761\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"389.023\" cy=\"247.078\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e25832; stroke:none; fill-opacity:1\" cx=\"389.023\" cy=\"212.084\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cb4148; stroke:none; fill-opacity:1\" cx=\"389.023\" cy=\"182.315\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"389.023\" cy=\"161.568\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c53d4d; stroke:none; fill-opacity:1\" cx=\"389.023\" cy=\"135.865\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"389.023\" cy=\"108.099\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"389.023\" cy=\"76.5561\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#7a1c6c; stroke:none; fill-opacity:1\" cx=\"389.023\" cy=\"43.0747\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"389.023\" cy=\"22.1145\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"391.856\" cy=\"269.695\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ad305b; stroke:none; fill-opacity:1\" cx=\"391.856\" cy=\"245.77\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d04544; stroke:none; fill-opacity:1\" cx=\"391.856\" cy=\"224.995\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#dd5138; stroke:none; fill-opacity:1\" cx=\"391.856\" cy=\"200.173\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#dd5138; stroke:none; fill-opacity:1\" cx=\"391.856\" cy=\"172.476\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cf4445; stroke:none; fill-opacity:1\" cx=\"391.856\" cy=\"151.55\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"391.856\" cy=\"129.629\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#8d2368; stroke:none; fill-opacity:1\" cx=\"391.856\" cy=\"109.435\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"391.856\" cy=\"79.8675\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"391.856\" cy=\"45.4471\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"394.218\" cy=\"280.685\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"394.218\" cy=\"254.638\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d84c3d; stroke:none; fill-opacity:1\" cx=\"394.218\" cy=\"226.242\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e9622a; stroke:none; fill-opacity:1\" cx=\"394.218\" cy=\"196.519\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#de5337; stroke:none; fill-opacity:1\" cx=\"394.218\" cy=\"164.387\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d74b3e; stroke:none; fill-opacity:1\" cx=\"394.218\" cy=\"134.785\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a12b61; stroke:none; fill-opacity:1\" cx=\"394.218\" cy=\"107.265\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#af305b; stroke:none; fill-opacity:1\" cx=\"394.218\" cy=\"83.5182\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#801f6b; stroke:none; fill-opacity:1\" cx=\"394.218\" cy=\"59.3189\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"394.218\" cy=\"32.5475\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"395.635\" cy=\"307.175\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"395.635\" cy=\"287.122\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a12b61; stroke:none; fill-opacity:1\" cx=\"395.635\" cy=\"251.122\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"395.635\" cy=\"225.374\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ec6726; stroke:none; fill-opacity:1\" cx=\"395.635\" cy=\"196.464\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c83f4b; stroke:none; fill-opacity:1\" cx=\"395.635\" cy=\"167.809\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ca4049; stroke:none; fill-opacity:1\" cx=\"395.635\" cy=\"145.89\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c23b4f; stroke:none; fill-opacity:1\" cx=\"395.635\" cy=\"122.057\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bb3754; stroke:none; fill-opacity:1\" cx=\"395.635\" cy=\"87.0149\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"395.635\" cy=\"59.1895\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"396.579\" cy=\"297.57\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bb3754; stroke:none; fill-opacity:1\" cx=\"396.579\" cy=\"258.375\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fa9807; stroke:none; fill-opacity:1\" cx=\"396.579\" cy=\"223.327\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f88a0b; stroke:none; fill-opacity:1\" cx=\"396.579\" cy=\"187.066\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e75f2c; stroke:none; fill-opacity:1\" cx=\"396.579\" cy=\"157.233\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e55c2f; stroke:none; fill-opacity:1\" cx=\"396.579\" cy=\"133.768\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e8612b; stroke:none; fill-opacity:1\" cx=\"396.579\" cy=\"106.141\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b33358; stroke:none; fill-opacity:1\" cx=\"396.579\" cy=\"83.5283\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#942666; stroke:none; fill-opacity:1\" cx=\"396.579\" cy=\"53.8691\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"396.579\" cy=\"22.2883\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#942666; stroke:none; fill-opacity:1\" cx=\"397.996\" cy=\"300.433\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b53357; stroke:none; fill-opacity:1\" cx=\"397.996\" cy=\"274.557\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d04544; stroke:none; fill-opacity:1\" cx=\"397.996\" cy=\"252.85\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fb9c07; stroke:none; fill-opacity:1\" cx=\"397.996\" cy=\"218.985\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f57d15; stroke:none; fill-opacity:1\" cx=\"397.996\" cy=\"184.324\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#eb6527; stroke:none; fill-opacity:1\" cx=\"397.996\" cy=\"159.002\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e45b30; stroke:none; fill-opacity:1\" cx=\"397.996\" cy=\"128.243\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d94d3c; stroke:none; fill-opacity:1\" cx=\"397.996\" cy=\"99.9816\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#aa2e5d; stroke:none; fill-opacity:1\" cx=\"397.996\" cy=\"64.951\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"397.996\" cy=\"30.3703\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"403.191\" cy=\"285.821\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#83206b; stroke:none; fill-opacity:1\" cx=\"403.191\" cy=\"259.556\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"403.191\" cy=\"239.096\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d04544; stroke:none; fill-opacity:1\" cx=\"403.191\" cy=\"213.73\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"403.191\" cy=\"182.959\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bd3853; stroke:none; fill-opacity:1\" cx=\"403.191\" cy=\"156.241\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"403.191\" cy=\"109.89\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"403.191\" cy=\"89.695\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"403.191\" cy=\"54.7262\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"403.191\" cy=\"23.9392\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#942666; stroke:none; fill-opacity:1\" cx=\"410.275\" cy=\"288.79\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ee6c22; stroke:none; fill-opacity:1\" cx=\"410.275\" cy=\"258.874\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d74b3e; stroke:none; fill-opacity:1\" cx=\"410.275\" cy=\"230.476\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ba3655; stroke:none; fill-opacity:1\" cx=\"410.275\" cy=\"205.807\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c13a50; stroke:none; fill-opacity:1\" cx=\"410.275\" cy=\"175.606\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"410.275\" cy=\"145.615\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"410.275\" cy=\"122.4\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"410.275\" cy=\"99.8592\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"410.275\" cy=\"82.5588\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"410.275\" cy=\"43.5174\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"414.998\" cy=\"317.292\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#dd5138; stroke:none; fill-opacity:1\" cx=\"414.998\" cy=\"276.873\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f37719; stroke:none; fill-opacity:1\" cx=\"414.998\" cy=\"253.624\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e75f2c; stroke:none; fill-opacity:1\" cx=\"414.998\" cy=\"229.481\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cf4445; stroke:none; fill-opacity:1\" cx=\"414.998\" cy=\"193.525\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bd3853; stroke:none; fill-opacity:1\" cx=\"414.998\" cy=\"166.861\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"414.998\" cy=\"140.593\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"414.998\" cy=\"113.931\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"414.998\" cy=\"84.7348\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"414.998\" cy=\"37.2799\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"417.832\" cy=\"323.448\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"417.832\" cy=\"303.337\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c13a50; stroke:none; fill-opacity:1\" cx=\"417.832\" cy=\"278.746\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e45b30; stroke:none; fill-opacity:1\" cx=\"417.832\" cy=\"253.502\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"417.832\" cy=\"231.254\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a92e5e; stroke:none; fill-opacity:1\" cx=\"417.832\" cy=\"204.441\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"417.832\" cy=\"167.915\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"417.832\" cy=\"134.77\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"417.832\" cy=\"77.4882\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"417.832\" cy=\"30.7539\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"419.721\" cy=\"303.38\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e65e2d; stroke:none; fill-opacity:1\" cx=\"419.721\" cy=\"273.883\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e05535; stroke:none; fill-opacity:1\" cx=\"419.721\" cy=\"250.035\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a92e5e; stroke:none; fill-opacity:1\" cx=\"419.721\" cy=\"226.393\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b0315a; stroke:none; fill-opacity:1\" cx=\"419.721\" cy=\"206.197\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b33358; stroke:none; fill-opacity:1\" cx=\"419.721\" cy=\"178.169\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"419.721\" cy=\"154.181\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"419.721\" cy=\"125.456\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"419.721\" cy=\"106.802\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"419.721\" cy=\"88.9204\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b0315a; stroke:none; fill-opacity:1\" cx=\"421.61\" cy=\"298.427\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f78310; stroke:none; fill-opacity:1\" cx=\"421.61\" cy=\"268.939\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e15634; stroke:none; fill-opacity:1\" cx=\"421.61\" cy=\"241.119\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"421.61\" cy=\"210.337\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b33358; stroke:none; fill-opacity:1\" cx=\"421.61\" cy=\"186.33\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a92e5e; stroke:none; fill-opacity:1\" cx=\"421.61\" cy=\"165.612\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"421.61\" cy=\"143.922\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"421.61\" cy=\"123.392\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"421.61\" cy=\"94.7017\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"421.61\" cy=\"58.5524\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#7a1c6c; stroke:none; fill-opacity:1\" cx=\"423.027\" cy=\"300.614\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d34841; stroke:none; fill-opacity:1\" cx=\"423.027\" cy=\"277.383\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"423.027\" cy=\"261.537\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"423.027\" cy=\"243.705\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c83f4b; stroke:none; fill-opacity:1\" cx=\"423.027\" cy=\"213.875\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ad305b; stroke:none; fill-opacity:1\" cx=\"423.027\" cy=\"191.932\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a12b61; stroke:none; fill-opacity:1\" cx=\"423.027\" cy=\"173.164\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"423.027\" cy=\"157.169\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"423.027\" cy=\"129.389\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"423.027\" cy=\"72.6565\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"423.971\" cy=\"321.531\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"423.971\" cy=\"302.775\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e75f2c; stroke:none; fill-opacity:1\" cx=\"423.971\" cy=\"273.266\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ec6925; stroke:none; fill-opacity:1\" cx=\"423.971\" cy=\"247.742\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ba3655; stroke:none; fill-opacity:1\" cx=\"423.971\" cy=\"214.627\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"423.971\" cy=\"195.784\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#801f6b; stroke:none; fill-opacity:1\" cx=\"423.971\" cy=\"177.041\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"423.971\" cy=\"153.804\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"423.971\" cy=\"123.692\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"423.971\" cy=\"103.406\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"424.916\" cy=\"327.172\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b83555; stroke:none; fill-opacity:1\" cx=\"424.916\" cy=\"294.994\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f88a0b; stroke:none; fill-opacity:1\" cx=\"424.916\" cy=\"270.358\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e35931; stroke:none; fill-opacity:1\" cx=\"424.916\" cy=\"245.178\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e65e2d; stroke:none; fill-opacity:1\" cx=\"424.916\" cy=\"219.737\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ce4346; stroke:none; fill-opacity:1\" cx=\"424.916\" cy=\"187.014\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#7a1c6c; stroke:none; fill-opacity:1\" cx=\"424.916\" cy=\"149.778\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"424.916\" cy=\"116.463\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"424.916\" cy=\"89.3486\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"424.916\" cy=\"50.1831\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#83206b; stroke:none; fill-opacity:1\" cx=\"425.86\" cy=\"320.978\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b33358; stroke:none; fill-opacity:1\" cx=\"425.86\" cy=\"296.822\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fb9e07; stroke:none; fill-opacity:1\" cx=\"425.86\" cy=\"274.224\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f06f1f; stroke:none; fill-opacity:1\" cx=\"425.86\" cy=\"251.882\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#df5436; stroke:none; fill-opacity:1\" cx=\"425.86\" cy=\"229.733\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e8612b; stroke:none; fill-opacity:1\" cx=\"425.86\" cy=\"203.142\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#af305b; stroke:none; fill-opacity:1\" cx=\"425.86\" cy=\"166.855\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#7a1c6c; stroke:none; fill-opacity:1\" cx=\"425.86\" cy=\"121.479\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"425.86\" cy=\"90.6272\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"425.86\" cy=\"70.2825\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"427.749\" cy=\"317.897\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c43c4e; stroke:none; fill-opacity:1\" cx=\"427.749\" cy=\"296.039\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e8612b; stroke:none; fill-opacity:1\" cx=\"427.749\" cy=\"279.98\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e45b30; stroke:none; fill-opacity:1\" cx=\"427.749\" cy=\"262.093\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#dd5138; stroke:none; fill-opacity:1\" cx=\"427.749\" cy=\"232.719\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bb3754; stroke:none; fill-opacity:1\" cx=\"427.749\" cy=\"195.899\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"427.749\" cy=\"178.093\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"427.749\" cy=\"154.87\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"427.749\" cy=\"130.944\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"427.749\" cy=\"88.6535\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"430.111\" cy=\"327.694\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#8d2368; stroke:none; fill-opacity:1\" cx=\"430.111\" cy=\"304.912\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f2741b; stroke:none; fill-opacity:1\" cx=\"430.111\" cy=\"282.819\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#db503a; stroke:none; fill-opacity:1\" cx=\"430.111\" cy=\"265.053\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ba3655; stroke:none; fill-opacity:1\" cx=\"430.111\" cy=\"242.557\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"430.111\" cy=\"224.06\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a72d5f; stroke:none; fill-opacity:1\" cx=\"430.111\" cy=\"202.775\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#942666; stroke:none; fill-opacity:1\" cx=\"430.111\" cy=\"178.241\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"430.111\" cy=\"142.521\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"430.111\" cy=\"124.297\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"431.527\" cy=\"328.457\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9d2963; stroke:none; fill-opacity:1\" cx=\"431.527\" cy=\"298.863\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d54940; stroke:none; fill-opacity:1\" cx=\"431.527\" cy=\"281.539\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d34841; stroke:none; fill-opacity:1\" cx=\"431.527\" cy=\"263.871\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#be3852; stroke:none; fill-opacity:1\" cx=\"431.527\" cy=\"235.676\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"431.527\" cy=\"202.373\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"431.527\" cy=\"174.352\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"431.527\" cy=\"156.992\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"431.527\" cy=\"138.066\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"431.527\" cy=\"40.259\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"432.472\" cy=\"295.299\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e75f2c; stroke:none; fill-opacity:1\" cx=\"432.472\" cy=\"273.903\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b0315a; stroke:none; fill-opacity:1\" cx=\"432.472\" cy=\"242.06\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"432.472\" cy=\"220.074\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"432.472\" cy=\"193.989\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"432.472\" cy=\"177.711\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"432.472\" cy=\"161.43\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"432.472\" cy=\"138.971\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"432.472\" cy=\"116.207\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"432.472\" cy=\"101.339\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"433.417\" cy=\"317.68\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cf4445; stroke:none; fill-opacity:1\" cx=\"433.417\" cy=\"295.762\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e35931; stroke:none; fill-opacity:1\" cx=\"433.417\" cy=\"277.628\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ba3655; stroke:none; fill-opacity:1\" cx=\"433.417\" cy=\"253.619\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ad305b; stroke:none; fill-opacity:1\" cx=\"433.417\" cy=\"230.744\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"433.417\" cy=\"215.361\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9d2963; stroke:none; fill-opacity:1\" cx=\"433.417\" cy=\"194.518\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"433.417\" cy=\"167.508\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"433.417\" cy=\"145.523\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"433.417\" cy=\"103.537\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"434.361\" cy=\"297.348\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f37719; stroke:none; fill-opacity:1\" cx=\"434.361\" cy=\"278\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ba3655; stroke:none; fill-opacity:1\" cx=\"434.361\" cy=\"252.54\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ba3655; stroke:none; fill-opacity:1\" cx=\"434.361\" cy=\"232.219\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"434.361\" cy=\"215.585\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#83206b; stroke:none; fill-opacity:1\" cx=\"434.361\" cy=\"198.629\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"434.361\" cy=\"182.052\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"434.361\" cy=\"160.431\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"434.361\" cy=\"135.99\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"434.361\" cy=\"94.2641\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"435.306\" cy=\"297.043\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e65e2d; stroke:none; fill-opacity:1\" cx=\"435.306\" cy=\"281.044\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b33358; stroke:none; fill-opacity:1\" cx=\"435.306\" cy=\"265.844\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c43c4e; stroke:none; fill-opacity:1\" cx=\"435.306\" cy=\"248.255\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"435.306\" cy=\"229.837\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"435.306\" cy=\"204.835\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"435.306\" cy=\"189.544\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"435.306\" cy=\"176.045\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"435.306\" cy=\"161.208\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"435.306\" cy=\"134.426\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"436.25\" cy=\"321.363\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f57d15; stroke:none; fill-opacity:1\" cx=\"436.25\" cy=\"283.908\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cf4445; stroke:none; fill-opacity:1\" cx=\"436.25\" cy=\"259.527\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b33358; stroke:none; fill-opacity:1\" cx=\"436.25\" cy=\"238.067\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#aa2e5d; stroke:none; fill-opacity:1\" cx=\"436.25\" cy=\"217.89\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"436.25\" cy=\"185.634\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"436.25\" cy=\"150.448\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"436.25\" cy=\"88.9018\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"436.25\" cy=\"66.3166\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"436.25\" cy=\"32.3365\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"437.195\" cy=\"313.799\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e55c2f; stroke:none; fill-opacity:1\" cx=\"437.195\" cy=\"290.184\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#de5337; stroke:none; fill-opacity:1\" cx=\"437.195\" cy=\"271.261\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#be3852; stroke:none; fill-opacity:1\" cx=\"437.195\" cy=\"246.977\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#972765; stroke:none; fill-opacity:1\" cx=\"437.195\" cy=\"228.688\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#7a1c6c; stroke:none; fill-opacity:1\" cx=\"437.195\" cy=\"209.531\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"437.195\" cy=\"184.235\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"437.195\" cy=\"163.881\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"437.195\" cy=\"146.528\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"437.195\" cy=\"110.872\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"438.139\" cy=\"328.634\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ed6a23; stroke:none; fill-opacity:1\" cx=\"438.139\" cy=\"290.578\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#eb6527; stroke:none; fill-opacity:1\" cx=\"438.139\" cy=\"270.592\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c43c4e; stroke:none; fill-opacity:1\" cx=\"438.139\" cy=\"249.663\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c53d4d; stroke:none; fill-opacity:1\" cx=\"438.139\" cy=\"230.358\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#83206b; stroke:none; fill-opacity:1\" cx=\"438.139\" cy=\"205.536\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#83206b; stroke:none; fill-opacity:1\" cx=\"438.139\" cy=\"184.563\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"438.139\" cy=\"161.213\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"438.139\" cy=\"142.991\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"438.139\" cy=\"39.6911\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"439.084\" cy=\"331.576\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"439.084\" cy=\"308.568\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#eb6527; stroke:none; fill-opacity:1\" cx=\"439.084\" cy=\"290.569\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ed6a23; stroke:none; fill-opacity:1\" cx=\"439.084\" cy=\"271.477\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d74b3e; stroke:none; fill-opacity:1\" cx=\"439.084\" cy=\"246.083\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"439.084\" cy=\"222.318\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#801f6b; stroke:none; fill-opacity:1\" cx=\"439.084\" cy=\"196.797\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"439.084\" cy=\"152.898\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"439.084\" cy=\"120.3\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"439.084\" cy=\"77.3578\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"440.028\" cy=\"326.848\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c03951; stroke:none; fill-opacity:1\" cx=\"440.028\" cy=\"305.347\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f1721d; stroke:none; fill-opacity:1\" cx=\"440.028\" cy=\"285.009\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d74b3e; stroke:none; fill-opacity:1\" cx=\"440.028\" cy=\"266.251\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ce4346; stroke:none; fill-opacity:1\" cx=\"440.028\" cy=\"247.839\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ad305b; stroke:none; fill-opacity:1\" cx=\"440.028\" cy=\"229.105\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b73456; stroke:none; fill-opacity:1\" cx=\"440.028\" cy=\"202.87\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"440.028\" cy=\"166.044\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"440.028\" cy=\"146.621\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"440.028\" cy=\"128.617\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"440.973\" cy=\"326.814\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fa9407; stroke:none; fill-opacity:1\" cx=\"440.973\" cy=\"290.748\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d74b3e; stroke:none; fill-opacity:1\" cx=\"440.973\" cy=\"268.784\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e65e2d; stroke:none; fill-opacity:1\" cx=\"440.973\" cy=\"250.827\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"440.973\" cy=\"226.806\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#972765; stroke:none; fill-opacity:1\" cx=\"440.973\" cy=\"202.352\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"440.973\" cy=\"174.908\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"440.973\" cy=\"100.688\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"440.973\" cy=\"80.0018\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"440.973\" cy=\"26.5459\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"441.918\" cy=\"331.753\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e45b30; stroke:none; fill-opacity:1\" cx=\"441.918\" cy=\"303.795\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fb9c07; stroke:none; fill-opacity:1\" cx=\"441.918\" cy=\"280.599\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"441.918\" cy=\"252.819\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"441.918\" cy=\"232.652\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bb3754; stroke:none; fill-opacity:1\" cx=\"441.918\" cy=\"207.363\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"441.918\" cy=\"180.866\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"441.918\" cy=\"157.566\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"441.918\" cy=\"128.617\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"441.918\" cy=\"44.2714\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"442.862\" cy=\"325.068\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f2741b; stroke:none; fill-opacity:1\" cx=\"442.862\" cy=\"303.725\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f9c32a; stroke:none; fill-opacity:1\" cx=\"442.862\" cy=\"281.702\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f1721d; stroke:none; fill-opacity:1\" cx=\"442.862\" cy=\"251.807\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d84c3d; stroke:none; fill-opacity:1\" cx=\"442.862\" cy=\"234.017\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"442.862\" cy=\"215.487\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#7a1c6c; stroke:none; fill-opacity:1\" cx=\"442.862\" cy=\"191.487\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"442.862\" cy=\"164.285\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"442.862\" cy=\"85.5969\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"442.862\" cy=\"53.3949\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#972765; stroke:none; fill-opacity:1\" cx=\"443.807\" cy=\"327.267\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fb9c07; stroke:none; fill-opacity:1\" cx=\"443.807\" cy=\"304.744\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fcfea4; stroke:none; fill-opacity:1\" cx=\"443.807\" cy=\"282.555\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fabf26; stroke:none; fill-opacity:1\" cx=\"443.807\" cy=\"254.144\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fa9307; stroke:none; fill-opacity:1\" cx=\"443.807\" cy=\"233.82\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e65e2d; stroke:none; fill-opacity:1\" cx=\"443.807\" cy=\"204.248\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"443.807\" cy=\"169.462\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"443.807\" cy=\"130.879\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"443.807\" cy=\"90.1306\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"443.807\" cy=\"70.8877\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a12b61; stroke:none; fill-opacity:1\" cx=\"444.751\" cy=\"329.837\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fbaa0f; stroke:none; fill-opacity:1\" cx=\"444.751\" cy=\"304.685\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f7cf3b; stroke:none; fill-opacity:1\" cx=\"444.751\" cy=\"287.185\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f8cb35; stroke:none; fill-opacity:1\" cx=\"444.751\" cy=\"261.777\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f2761a; stroke:none; fill-opacity:1\" cx=\"444.751\" cy=\"230.435\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b53357; stroke:none; fill-opacity:1\" cx=\"444.751\" cy=\"205.427\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"444.751\" cy=\"188.007\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"444.751\" cy=\"171.563\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"444.751\" cy=\"101.842\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"444.751\" cy=\"70.959\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9d2963; stroke:none; fill-opacity:1\" cx=\"447.113\" cy=\"337.94\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"447.113\" cy=\"327.189\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9d2963; stroke:none; fill-opacity:1\" cx=\"447.113\" cy=\"318.636\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c13a50; stroke:none; fill-opacity:1\" cx=\"447.113\" cy=\"306.92\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c43c4e; stroke:none; fill-opacity:1\" cx=\"447.113\" cy=\"297.075\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"447.113\" cy=\"290.71\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a12b61; stroke:none; fill-opacity:1\" cx=\"447.113\" cy=\"281.002\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"447.113\" cy=\"263.143\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"447.113\" cy=\"244.871\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"447.113\" cy=\"233.722\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#972765; stroke:none; fill-opacity:1\" cx=\"450.418\" cy=\"322.315\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ce4346; stroke:none; fill-opacity:1\" cx=\"450.418\" cy=\"311.1\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"450.418\" cy=\"302.589\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#de5337; stroke:none; fill-opacity:1\" cx=\"450.418\" cy=\"294.882\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c83f4b; stroke:none; fill-opacity:1\" cx=\"450.418\" cy=\"285.538\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"450.418\" cy=\"278.29\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"450.418\" cy=\"269.986\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"450.418\" cy=\"262.305\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"450.418\" cy=\"252.816\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"450.418\" cy=\"240.788\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"452.308\" cy=\"323.16\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"452.308\" cy=\"312.296\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e35931; stroke:none; fill-opacity:1\" cx=\"452.308\" cy=\"300.625\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"452.308\" cy=\"292.026\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#972765; stroke:none; fill-opacity:1\" cx=\"452.308\" cy=\"285.34\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#8d2368; stroke:none; fill-opacity:1\" cx=\"452.308\" cy=\"274.937\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"452.308\" cy=\"263.184\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"452.308\" cy=\"251.941\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"452.308\" cy=\"238.656\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"452.308\" cy=\"231.32\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#8d2368; stroke:none; fill-opacity:1\" cx=\"453.252\" cy=\"329.085\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"453.252\" cy=\"317.177\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f99108; stroke:none; fill-opacity:1\" cx=\"453.252\" cy=\"305.114\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f7850e; stroke:none; fill-opacity:1\" cx=\"453.252\" cy=\"293.773\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e05535; stroke:none; fill-opacity:1\" cx=\"453.252\" cy=\"282.531\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b0315a; stroke:none; fill-opacity:1\" cx=\"453.252\" cy=\"271.212\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"453.252\" cy=\"249.865\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"453.252\" cy=\"240.174\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"453.252\" cy=\"209.666\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"453.252\" cy=\"192.369\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cb4148; stroke:none; fill-opacity:1\" cx=\"454.197\" cy=\"327.004\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f4de52; stroke:none; fill-opacity:1\" cx=\"454.197\" cy=\"308.19\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f4db4c; stroke:none; fill-opacity:1\" cx=\"454.197\" cy=\"293.041\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ea6428; stroke:none; fill-opacity:1\" cx=\"454.197\" cy=\"279.154\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b83555; stroke:none; fill-opacity:1\" cx=\"454.197\" cy=\"266.917\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"454.197\" cy=\"254.722\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"454.197\" cy=\"245.276\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"454.197\" cy=\"232.694\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"454.197\" cy=\"218.38\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"454.197\" cy=\"202.712\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"457.503\" cy=\"347.455\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"457.503\" cy=\"337.83\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bb3754; stroke:none; fill-opacity:1\" cx=\"457.503\" cy=\"326.117\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ec6726; stroke:none; fill-opacity:1\" cx=\"457.503\" cy=\"314.03\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b0315a; stroke:none; fill-opacity:1\" cx=\"457.503\" cy=\"302.506\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c23b4f; stroke:none; fill-opacity:1\" cx=\"457.503\" cy=\"293.11\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"457.503\" cy=\"279.262\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"457.503\" cy=\"267.19\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"457.503\" cy=\"252.639\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"457.503\" cy=\"237.167\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ba3655; stroke:none; fill-opacity:1\" cx=\"461.281\" cy=\"330.635\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c23b4f; stroke:none; fill-opacity:1\" cx=\"461.281\" cy=\"323.328\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"461.281\" cy=\"318.02\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d34841; stroke:none; fill-opacity:1\" cx=\"461.281\" cy=\"311.311\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#af305b; stroke:none; fill-opacity:1\" cx=\"461.281\" cy=\"305.253\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"461.281\" cy=\"299.521\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"461.281\" cy=\"294.091\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"461.281\" cy=\"287.25\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"461.281\" cy=\"279.142\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"461.281\" cy=\"224.897\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"462.698\" cy=\"334.676\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d04544; stroke:none; fill-opacity:1\" cx=\"462.698\" cy=\"325.22\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d84c3d; stroke:none; fill-opacity:1\" cx=\"462.698\" cy=\"316.887\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"462.698\" cy=\"308.605\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"462.698\" cy=\"298.666\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"462.698\" cy=\"292.903\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"462.698\" cy=\"283.012\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"462.698\" cy=\"271.277\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"462.698\" cy=\"264.686\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"462.698\" cy=\"253.775\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"463.642\" cy=\"347.747\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#dd5138; stroke:none; fill-opacity:1\" cx=\"463.642\" cy=\"326.804\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ea6428; stroke:none; fill-opacity:1\" cx=\"463.642\" cy=\"317.105\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c43c4e; stroke:none; fill-opacity:1\" cx=\"463.642\" cy=\"309.128\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a12b61; stroke:none; fill-opacity:1\" cx=\"463.642\" cy=\"303.545\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#aa2e5d; stroke:none; fill-opacity:1\" cx=\"463.642\" cy=\"296.984\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"463.642\" cy=\"290.392\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"463.642\" cy=\"282.422\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"463.642\" cy=\"259.994\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"463.642\" cy=\"246.03\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"465.059\" cy=\"336.765\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"465.059\" cy=\"331.872\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#df5436; stroke:none; fill-opacity:1\" cx=\"465.059\" cy=\"326.878\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e15634; stroke:none; fill-opacity:1\" cx=\"465.059\" cy=\"319.403\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d34841; stroke:none; fill-opacity:1\" cx=\"465.059\" cy=\"314.145\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d84c3d; stroke:none; fill-opacity:1\" cx=\"465.059\" cy=\"307.659\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"465.059\" cy=\"301.422\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"465.059\" cy=\"293.43\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"465.059\" cy=\"287.439\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"465.059\" cy=\"280.903\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"466.476\" cy=\"341.044\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b33358; stroke:none; fill-opacity:1\" cx=\"466.476\" cy=\"333.76\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"466.476\" cy=\"326.193\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cf4445; stroke:none; fill-opacity:1\" cx=\"466.476\" cy=\"319.615\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bb3754; stroke:none; fill-opacity:1\" cx=\"466.476\" cy=\"314.755\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"466.476\" cy=\"309.543\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"466.476\" cy=\"302.335\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"466.476\" cy=\"297.745\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"466.476\" cy=\"290.418\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"466.476\" cy=\"274.424\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"467.42\" cy=\"350.558\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b0315a; stroke:none; fill-opacity:1\" cx=\"467.42\" cy=\"334.282\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e45b30; stroke:none; fill-opacity:1\" cx=\"467.42\" cy=\"324.624\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d34841; stroke:none; fill-opacity:1\" cx=\"467.42\" cy=\"317.286\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#be3852; stroke:none; fill-opacity:1\" cx=\"467.42\" cy=\"310.083\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"467.42\" cy=\"303.763\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"467.42\" cy=\"298.48\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"467.42\" cy=\"293.527\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"467.42\" cy=\"288.508\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"467.42\" cy=\"280.047\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"468.365\" cy=\"352.923\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"468.365\" cy=\"332.292\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d24742; stroke:none; fill-opacity:1\" cx=\"468.365\" cy=\"325.007\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d34841; stroke:none; fill-opacity:1\" cx=\"468.365\" cy=\"319.034\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cb4148; stroke:none; fill-opacity:1\" cx=\"468.365\" cy=\"314.005\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"468.365\" cy=\"306.02\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"468.365\" cy=\"298.887\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"468.365\" cy=\"285.093\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"468.365\" cy=\"280.754\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"468.365\" cy=\"273.325\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"469.309\" cy=\"341.397\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c53d4d; stroke:none; fill-opacity:1\" cx=\"469.309\" cy=\"333.626\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e9622a; stroke:none; fill-opacity:1\" cx=\"469.309\" cy=\"325.772\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e15634; stroke:none; fill-opacity:1\" cx=\"469.309\" cy=\"318.98\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#af305b; stroke:none; fill-opacity:1\" cx=\"469.309\" cy=\"312.756\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"469.309\" cy=\"307.567\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"469.309\" cy=\"300.701\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"469.309\" cy=\"296.651\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"469.309\" cy=\"291.144\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"469.309\" cy=\"263.029\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"470.254\" cy=\"349.45\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f7850e; stroke:none; fill-opacity:1\" cx=\"470.254\" cy=\"329.621\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"470.254\" cy=\"322.738\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e45b30; stroke:none; fill-opacity:1\" cx=\"470.254\" cy=\"318.763\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ec6726; stroke:none; fill-opacity:1\" cx=\"470.254\" cy=\"310.724\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ba3655; stroke:none; fill-opacity:1\" cx=\"470.254\" cy=\"302.037\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"470.254\" cy=\"294.028\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"470.254\" cy=\"288.751\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"470.254\" cy=\"282.914\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"470.254\" cy=\"275.82\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"471.198\" cy=\"351.563\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f06f1f; stroke:none; fill-opacity:1\" cx=\"471.198\" cy=\"335.397\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fa9807; stroke:none; fill-opacity:1\" cx=\"471.198\" cy=\"326.892\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e45b30; stroke:none; fill-opacity:1\" cx=\"471.198\" cy=\"321.674\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f0711e; stroke:none; fill-opacity:1\" cx=\"471.198\" cy=\"317.579\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e15634; stroke:none; fill-opacity:1\" cx=\"471.198\" cy=\"312.006\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"471.198\" cy=\"306.455\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#af305b; stroke:none; fill-opacity:1\" cx=\"471.198\" cy=\"301.185\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"471.198\" cy=\"293.643\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"471.198\" cy=\"280.063\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"472.143\" cy=\"345.87\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f99108; stroke:none; fill-opacity:1\" cx=\"472.143\" cy=\"334.74\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f9c730; stroke:none; fill-opacity:1\" cx=\"472.143\" cy=\"326.863\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fba40a; stroke:none; fill-opacity:1\" cx=\"472.143\" cy=\"319.625\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f2741b; stroke:none; fill-opacity:1\" cx=\"472.143\" cy=\"313.859\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ea6428; stroke:none; fill-opacity:1\" cx=\"472.143\" cy=\"308.16\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b73456; stroke:none; fill-opacity:1\" cx=\"472.143\" cy=\"302.467\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a92e5e; stroke:none; fill-opacity:1\" cx=\"472.143\" cy=\"297.859\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#8d2368; stroke:none; fill-opacity:1\" cx=\"472.143\" cy=\"291.159\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"472.143\" cy=\"279.653\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c23b4f; stroke:none; fill-opacity:1\" cx=\"473.088\" cy=\"351.712\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f6f890; stroke:none; fill-opacity:1\" cx=\"473.088\" cy=\"331.138\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fbad13; stroke:none; fill-opacity:1\" cx=\"473.088\" cy=\"323.17\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fba60c; stroke:none; fill-opacity:1\" cx=\"473.088\" cy=\"318.265\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f98d09; stroke:none; fill-opacity:1\" cx=\"473.088\" cy=\"311.234\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b53357; stroke:none; fill-opacity:1\" cx=\"473.088\" cy=\"303.707\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"473.088\" cy=\"297.57\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"473.088\" cy=\"291.554\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"473.088\" cy=\"281.473\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"473.088\" cy=\"269.721\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"476.393\" cy=\"348.399\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e9622a; stroke:none; fill-opacity:1\" cx=\"476.393\" cy=\"338.411\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ec6726; stroke:none; fill-opacity:1\" cx=\"476.393\" cy=\"330.949\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"476.393\" cy=\"323.269\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"476.393\" cy=\"316.496\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#801f6b; stroke:none; fill-opacity:1\" cx=\"476.393\" cy=\"311.453\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"476.393\" cy=\"305.9\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"476.393\" cy=\"298.215\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"476.393\" cy=\"292.044\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"476.393\" cy=\"277.72\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"480.172\" cy=\"347.735\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ba3655; stroke:none; fill-opacity:1\" cx=\"480.172\" cy=\"340.771\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d74b3e; stroke:none; fill-opacity:1\" cx=\"480.172\" cy=\"335.196\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b73456; stroke:none; fill-opacity:1\" cx=\"480.172\" cy=\"330.989\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b0315a; stroke:none; fill-opacity:1\" cx=\"480.172\" cy=\"325.984\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9d2963; stroke:none; fill-opacity:1\" cx=\"480.172\" cy=\"318.772\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"480.172\" cy=\"310.01\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"480.172\" cy=\"300.919\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"480.172\" cy=\"282.412\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"480.172\" cy=\"249.307\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"482.061\" cy=\"354.294\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#df5436; stroke:none; fill-opacity:1\" cx=\"482.061\" cy=\"347.218\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f0711e; stroke:none; fill-opacity:1\" cx=\"482.061\" cy=\"339.544\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ec6925; stroke:none; fill-opacity:1\" cx=\"482.061\" cy=\"332.495\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b83555; stroke:none; fill-opacity:1\" cx=\"482.061\" cy=\"328.366\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b83555; stroke:none; fill-opacity:1\" cx=\"482.061\" cy=\"324.637\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ad305b; stroke:none; fill-opacity:1\" cx=\"482.061\" cy=\"317.492\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"482.061\" cy=\"309.761\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"482.061\" cy=\"301.776\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"482.061\" cy=\"293.113\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"483.478\" cy=\"354.626\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ed6a23; stroke:none; fill-opacity:1\" cx=\"483.478\" cy=\"345.38\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e65e2d; stroke:none; fill-opacity:1\" cx=\"483.478\" cy=\"337.491\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"483.478\" cy=\"330.984\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"483.478\" cy=\"323.859\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"483.478\" cy=\"317.937\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"483.478\" cy=\"309.819\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"483.478\" cy=\"301.198\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"483.478\" cy=\"293.872\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"483.478\" cy=\"280.252\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"484.422\" cy=\"355.157\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bd3853; stroke:none; fill-opacity:1\" cx=\"484.422\" cy=\"349.515\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d54940; stroke:none; fill-opacity:1\" cx=\"484.422\" cy=\"346.042\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e45b30; stroke:none; fill-opacity:1\" cx=\"484.422\" cy=\"339.899\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ce4346; stroke:none; fill-opacity:1\" cx=\"484.422\" cy=\"335.51\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#be3852; stroke:none; fill-opacity:1\" cx=\"484.422\" cy=\"331.196\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ad305b; stroke:none; fill-opacity:1\" cx=\"484.422\" cy=\"325.653\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"484.422\" cy=\"320.562\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"484.422\" cy=\"313.133\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"484.422\" cy=\"302.213\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#942666; stroke:none; fill-opacity:1\" cx=\"485.367\" cy=\"352.161\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e45b30; stroke:none; fill-opacity:1\" cx=\"485.367\" cy=\"347.364\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f0711e; stroke:none; fill-opacity:1\" cx=\"485.367\" cy=\"340.546\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#eb6527; stroke:none; fill-opacity:1\" cx=\"485.367\" cy=\"336.1\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c23b4f; stroke:none; fill-opacity:1\" cx=\"485.367\" cy=\"331.916\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b0315a; stroke:none; fill-opacity:1\" cx=\"485.367\" cy=\"326.85\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"485.367\" cy=\"321.625\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"485.367\" cy=\"315.25\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"485.367\" cy=\"309.819\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"485.367\" cy=\"296.711\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cf4445; stroke:none; fill-opacity:1\" cx=\"486.311\" cy=\"349.518\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f88a0b; stroke:none; fill-opacity:1\" cx=\"486.311\" cy=\"341.71\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f78310; stroke:none; fill-opacity:1\" cx=\"486.311\" cy=\"335.563\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cf4445; stroke:none; fill-opacity:1\" cx=\"486.311\" cy=\"328.424\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"486.311\" cy=\"321.833\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"486.311\" cy=\"318.142\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"486.311\" cy=\"308.286\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"486.311\" cy=\"296.842\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"486.311\" cy=\"291.417\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"486.311\" cy=\"285.54\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c83f4b; stroke:none; fill-opacity:1\" cx=\"487.256\" cy=\"351.151\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e8612b; stroke:none; fill-opacity:1\" cx=\"487.256\" cy=\"346.981\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f68012; stroke:none; fill-opacity:1\" cx=\"487.256\" cy=\"340.786\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e35931; stroke:none; fill-opacity:1\" cx=\"487.256\" cy=\"336.56\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"487.256\" cy=\"333.178\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b53357; stroke:none; fill-opacity:1\" cx=\"487.256\" cy=\"328.336\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#83206b; stroke:none; fill-opacity:1\" cx=\"487.256\" cy=\"323.503\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"487.256\" cy=\"320.395\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"487.256\" cy=\"315.659\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"487.256\" cy=\"307.022\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d54940; stroke:none; fill-opacity:1\" cx=\"488.2\" cy=\"351.18\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f1721d; stroke:none; fill-opacity:1\" cx=\"488.2\" cy=\"346.893\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f98d09; stroke:none; fill-opacity:1\" cx=\"488.2\" cy=\"340.459\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f37719; stroke:none; fill-opacity:1\" cx=\"488.2\" cy=\"336.049\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cf4445; stroke:none; fill-opacity:1\" cx=\"488.2\" cy=\"331.016\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"488.2\" cy=\"326.129\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"488.2\" cy=\"319.27\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"488.2\" cy=\"312.826\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"488.2\" cy=\"306.728\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"488.2\" cy=\"296.525\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e05535; stroke:none; fill-opacity:1\" cx=\"489.145\" cy=\"351.868\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f57e13; stroke:none; fill-opacity:1\" cx=\"489.145\" cy=\"347.163\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fa9407; stroke:none; fill-opacity:1\" cx=\"489.145\" cy=\"340.644\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f37719; stroke:none; fill-opacity:1\" cx=\"489.145\" cy=\"336.569\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d84c3d; stroke:none; fill-opacity:1\" cx=\"489.145\" cy=\"330.635\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"489.145\" cy=\"324.402\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#801f6b; stroke:none; fill-opacity:1\" cx=\"489.145\" cy=\"319.096\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"489.145\" cy=\"314.241\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"489.145\" cy=\"308.829\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"489.145\" cy=\"300.668\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"490.089\" cy=\"355.343\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f0711e; stroke:none; fill-opacity:1\" cx=\"490.089\" cy=\"350.686\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f2741b; stroke:none; fill-opacity:1\" cx=\"490.089\" cy=\"346.504\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fabf26; stroke:none; fill-opacity:1\" cx=\"490.089\" cy=\"339.599\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d54940; stroke:none; fill-opacity:1\" cx=\"490.089\" cy=\"333.586\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"490.089\" cy=\"328.221\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"490.089\" cy=\"323.556\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"490.089\" cy=\"319.594\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"490.089\" cy=\"314.879\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"490.089\" cy=\"310.553\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f7870d; stroke:none; fill-opacity:1\" cx=\"491.034\" cy=\"351.107\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fa9607; stroke:none; fill-opacity:1\" cx=\"491.034\" cy=\"346.191\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fac128; stroke:none; fill-opacity:1\" cx=\"491.034\" cy=\"340.634\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f8880c; stroke:none; fill-opacity:1\" cx=\"491.034\" cy=\"335.93\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"491.034\" cy=\"330.757\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"491.034\" cy=\"324.614\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"491.034\" cy=\"320.332\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"491.034\" cy=\"310.036\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"491.034\" cy=\"298.797\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"491.034\" cy=\"290.455\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#af305b; stroke:none; fill-opacity:1\" cx=\"491.979\" cy=\"356.928\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fba209; stroke:none; fill-opacity:1\" cx=\"491.979\" cy=\"351.262\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fbaf14; stroke:none; fill-opacity:1\" cx=\"491.979\" cy=\"346.632\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fbb51a; stroke:none; fill-opacity:1\" cx=\"491.979\" cy=\"340.863\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f37917; stroke:none; fill-opacity:1\" cx=\"491.979\" cy=\"336.947\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"491.979\" cy=\"332.739\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a12b61; stroke:none; fill-opacity:1\" cx=\"491.979\" cy=\"327.828\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"491.979\" cy=\"322.868\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"491.979\" cy=\"317.199\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"491.979\" cy=\"308.888\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#aa2e5d; stroke:none; fill-opacity:1\" cx=\"493.868\" cy=\"356.187\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d84c3d; stroke:none; fill-opacity:1\" cx=\"493.868\" cy=\"352.511\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bd3853; stroke:none; fill-opacity:1\" cx=\"493.868\" cy=\"349.003\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b33358; stroke:none; fill-opacity:1\" cx=\"493.868\" cy=\"346.61\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"493.868\" cy=\"341.651\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9d2963; stroke:none; fill-opacity:1\" cx=\"493.868\" cy=\"337.475\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"493.868\" cy=\"332.348\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"493.868\" cy=\"329.487\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"493.868\" cy=\"326.49\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"493.868\" cy=\"321.94\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"496.229\" cy=\"357.815\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bd3853; stroke:none; fill-opacity:1\" cx=\"496.229\" cy=\"355.67\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"496.229\" cy=\"353.554\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ba3655; stroke:none; fill-opacity:1\" cx=\"496.229\" cy=\"352.027\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"496.229\" cy=\"349.318\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"496.229\" cy=\"346.379\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"496.229\" cy=\"341.905\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"496.229\" cy=\"338.368\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"496.229\" cy=\"335.298\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"496.229\" cy=\"331.957\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"497.646\" cy=\"359.088\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"497.646\" cy=\"357.058\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"497.646\" cy=\"354.837\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"497.646\" cy=\"352.623\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a92e5e; stroke:none; fill-opacity:1\" cx=\"497.646\" cy=\"350.006\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c13a50; stroke:none; fill-opacity:1\" cx=\"497.646\" cy=\"347.988\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"497.646\" cy=\"345.573\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"497.646\" cy=\"336.482\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"497.646\" cy=\"329.394\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"497.646\" cy=\"325.124\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"498.59\" cy=\"363.014\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"498.59\" cy=\"361.208\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#df5436; stroke:none; fill-opacity:1\" cx=\"498.59\" cy=\"358.515\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e15634; stroke:none; fill-opacity:1\" cx=\"498.59\" cy=\"356.486\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f7850e; stroke:none; fill-opacity:1\" cx=\"498.59\" cy=\"353.584\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"498.59\" cy=\"350.731\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"498.59\" cy=\"348.265\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"498.59\" cy=\"345.19\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"498.59\" cy=\"341.74\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"498.59\" cy=\"338.446\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b0315a; stroke:none; fill-opacity:1\" cx=\"499.535\" cy=\"359.839\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#eb6527; stroke:none; fill-opacity:1\" cx=\"499.535\" cy=\"358.058\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d84c3d; stroke:none; fill-opacity:1\" cx=\"499.535\" cy=\"356.321\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f1721d; stroke:none; fill-opacity:1\" cx=\"499.535\" cy=\"354.632\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f0711e; stroke:none; fill-opacity:1\" cx=\"499.535\" cy=\"352.91\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e35931; stroke:none; fill-opacity:1\" cx=\"499.535\" cy=\"351.197\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e55c2f; stroke:none; fill-opacity:1\" cx=\"499.535\" cy=\"349.312\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d34841; stroke:none; fill-opacity:1\" cx=\"499.535\" cy=\"346.736\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#7a1c6c; stroke:none; fill-opacity:1\" cx=\"499.535\" cy=\"342.122\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"499.535\" cy=\"339.722\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"500.479\" cy=\"362.251\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#dd5138; stroke:none; fill-opacity:1\" cx=\"500.479\" cy=\"360.089\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fa9607; stroke:none; fill-opacity:1\" cx=\"500.479\" cy=\"358.186\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fba007; stroke:none; fill-opacity:1\" cx=\"500.479\" cy=\"355.772\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fb9e07; stroke:none; fill-opacity:1\" cx=\"500.479\" cy=\"353.608\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fbb51a; stroke:none; fill-opacity:1\" cx=\"500.479\" cy=\"351.086\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e15634; stroke:none; fill-opacity:1\" cx=\"500.479\" cy=\"348.259\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e25832; stroke:none; fill-opacity:1\" cx=\"500.479\" cy=\"345.869\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"500.479\" cy=\"342.177\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"500.479\" cy=\"339.293\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#60136e; stroke:none; fill-opacity:1\" cx=\"501.424\" cy=\"362.078\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fba60c; stroke:none; fill-opacity:1\" cx=\"501.424\" cy=\"359.232\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fbad13; stroke:none; fill-opacity:1\" cx=\"501.424\" cy=\"356.103\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fa9407; stroke:none; fill-opacity:1\" cx=\"501.424\" cy=\"353.787\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fba40a; stroke:none; fill-opacity:1\" cx=\"501.424\" cy=\"351.494\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e15634; stroke:none; fill-opacity:1\" cx=\"501.424\" cy=\"348.83\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"501.424\" cy=\"346.61\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#58106d; stroke:none; fill-opacity:1\" cx=\"501.424\" cy=\"341.596\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"501.424\" cy=\"338.426\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"501.424\" cy=\"336.258\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"502.369\" cy=\"362.463\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9d2963; stroke:none; fill-opacity:1\" cx=\"502.369\" cy=\"360.716\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#db503a; stroke:none; fill-opacity:1\" cx=\"502.369\" cy=\"358.722\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"502.369\" cy=\"356.821\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e65e2d; stroke:none; fill-opacity:1\" cx=\"502.369\" cy=\"354.862\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e8612b; stroke:none; fill-opacity:1\" cx=\"502.369\" cy=\"352.556\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bb3754; stroke:none; fill-opacity:1\" cx=\"502.369\" cy=\"350.19\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"502.369\" cy=\"348.14\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"502.369\" cy=\"346.245\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"502.369\" cy=\"341.546\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"503.313\" cy=\"362.046\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e65e2d; stroke:none; fill-opacity:1\" cx=\"503.313\" cy=\"360.092\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#eb6527; stroke:none; fill-opacity:1\" cx=\"503.313\" cy=\"358.316\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f37719; stroke:none; fill-opacity:1\" cx=\"503.313\" cy=\"356.002\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ed6a23; stroke:none; fill-opacity:1\" cx=\"503.313\" cy=\"353.734\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f0711e; stroke:none; fill-opacity:1\" cx=\"503.313\" cy=\"351.57\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"503.313\" cy=\"348.716\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#801f6b; stroke:none; fill-opacity:1\" cx=\"503.313\" cy=\"345.515\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"503.313\" cy=\"336.575\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"503.313\" cy=\"334.694\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#b0315a; stroke:none; fill-opacity:1\" cx=\"504.258\" cy=\"362.295\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e75f2c; stroke:none; fill-opacity:1\" cx=\"504.258\" cy=\"359.834\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cb4148; stroke:none; fill-opacity:1\" cx=\"504.258\" cy=\"357.798\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ea6428; stroke:none; fill-opacity:1\" cx=\"504.258\" cy=\"356.27\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"504.258\" cy=\"354.188\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#da4f3b; stroke:none; fill-opacity:1\" cx=\"504.258\" cy=\"351.99\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"504.258\" cy=\"348.826\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"504.258\" cy=\"347.262\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"504.258\" cy=\"345.289\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"504.258\" cy=\"338.94\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"505.202\" cy=\"362.406\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f37917; stroke:none; fill-opacity:1\" cx=\"505.202\" cy=\"360.097\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e15634; stroke:none; fill-opacity:1\" cx=\"505.202\" cy=\"357.969\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f2761a; stroke:none; fill-opacity:1\" cx=\"505.202\" cy=\"356.436\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c23b4f; stroke:none; fill-opacity:1\" cx=\"505.202\" cy=\"354.562\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ca4049; stroke:none; fill-opacity:1\" cx=\"505.202\" cy=\"352.975\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"505.202\" cy=\"351.405\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"505.202\" cy=\"349.106\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"505.202\" cy=\"346.313\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"505.202\" cy=\"339.796\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#db503a; stroke:none; fill-opacity:1\" cx=\"506.147\" cy=\"362.431\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f06f1f; stroke:none; fill-opacity:1\" cx=\"506.147\" cy=\"360.191\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e65e2d; stroke:none; fill-opacity:1\" cx=\"506.147\" cy=\"358.402\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f2761a; stroke:none; fill-opacity:1\" cx=\"506.147\" cy=\"356.769\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e05535; stroke:none; fill-opacity:1\" cx=\"506.147\" cy=\"354.952\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f0711e; stroke:none; fill-opacity:1\" cx=\"506.147\" cy=\"352.89\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"506.147\" cy=\"350.809\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#801f6b; stroke:none; fill-opacity:1\" cx=\"506.147\" cy=\"348.305\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"506.147\" cy=\"345.438\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"506.147\" cy=\"340.653\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e65e2d; stroke:none; fill-opacity:1\" cx=\"507.091\" cy=\"362.959\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f99108; stroke:none; fill-opacity:1\" cx=\"507.091\" cy=\"360.832\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f0711e; stroke:none; fill-opacity:1\" cx=\"507.091\" cy=\"358.973\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f98f08; stroke:none; fill-opacity:1\" cx=\"507.091\" cy=\"357.303\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d84c3d; stroke:none; fill-opacity:1\" cx=\"507.091\" cy=\"355.596\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f37719; stroke:none; fill-opacity:1\" cx=\"507.091\" cy=\"353.436\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a92e5e; stroke:none; fill-opacity:1\" cx=\"507.091\" cy=\"351.393\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"507.091\" cy=\"349.097\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"507.091\" cy=\"331.566\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#400a66; stroke:none; fill-opacity:1\" cx=\"507.091\" cy=\"328.653\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"508.036\" cy=\"364.969\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ec6925; stroke:none; fill-opacity:1\" cx=\"508.036\" cy=\"362.918\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f98d09; stroke:none; fill-opacity:1\" cx=\"508.036\" cy=\"360.825\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fab91f; stroke:none; fill-opacity:1\" cx=\"508.036\" cy=\"358.346\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f68012; stroke:none; fill-opacity:1\" cx=\"508.036\" cy=\"356.029\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f47b16; stroke:none; fill-opacity:1\" cx=\"508.036\" cy=\"354.442\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ed6a23; stroke:none; fill-opacity:1\" cx=\"508.036\" cy=\"352.824\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bb3754; stroke:none; fill-opacity:1\" cx=\"508.036\" cy=\"350.925\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#751b6d; stroke:none; fill-opacity:1\" cx=\"508.036\" cy=\"348.819\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"508.036\" cy=\"346.493\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"508.98\" cy=\"364.671\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fba40a; stroke:none; fill-opacity:1\" cx=\"508.98\" cy=\"362.792\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f7cd38; stroke:none; fill-opacity:1\" cx=\"508.98\" cy=\"360.396\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fbb51a; stroke:none; fill-opacity:1\" cx=\"508.98\" cy=\"358.157\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f99108; stroke:none; fill-opacity:1\" cx=\"508.98\" cy=\"356.456\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fbad13; stroke:none; fill-opacity:1\" cx=\"508.98\" cy=\"354.466\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e15634; stroke:none; fill-opacity:1\" cx=\"508.98\" cy=\"352.103\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#83206b; stroke:none; fill-opacity:1\" cx=\"508.98\" cy=\"350.201\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"508.98\" cy=\"347.802\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"508.98\" cy=\"339.852\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a92e5e; stroke:none; fill-opacity:1\" cx=\"509.925\" cy=\"364.776\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fbaf14; stroke:none; fill-opacity:1\" cx=\"509.925\" cy=\"363.011\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f6d340; stroke:none; fill-opacity:1\" cx=\"509.925\" cy=\"360.779\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f2e867; stroke:none; fill-opacity:1\" cx=\"509.925\" cy=\"357.993\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fbb51a; stroke:none; fill-opacity:1\" cx=\"509.925\" cy=\"355.098\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f2761a; stroke:none; fill-opacity:1\" cx=\"509.925\" cy=\"352.84\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#af305b; stroke:none; fill-opacity:1\" cx=\"509.925\" cy=\"350.134\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"509.925\" cy=\"347.207\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"509.925\" cy=\"337.934\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"509.925\" cy=\"336.091\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e05535; stroke:none; fill-opacity:1\" cx=\"510.869\" cy=\"364.617\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f6d340; stroke:none; fill-opacity:1\" cx=\"510.869\" cy=\"362.78\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f8cb35; stroke:none; fill-opacity:1\" cx=\"510.869\" cy=\"360.712\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f7cd38; stroke:none; fill-opacity:1\" cx=\"510.869\" cy=\"359.038\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#fbac11; stroke:none; fill-opacity:1\" cx=\"510.869\" cy=\"357.402\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f9c52d; stroke:none; fill-opacity:1\" cx=\"510.869\" cy=\"355.663\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#f37917; stroke:none; fill-opacity:1\" cx=\"510.869\" cy=\"353.378\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"510.869\" cy=\"351.3\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"510.869\" cy=\"349.292\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"510.869\" cy=\"327.731\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"512.286\" cy=\"365.565\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ad305b; stroke:none; fill-opacity:1\" cx=\"512.286\" cy=\"364.129\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ea6428; stroke:none; fill-opacity:1\" cx=\"512.286\" cy=\"362.646\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a12b61; stroke:none; fill-opacity:1\" cx=\"512.286\" cy=\"361.541\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d84c3d; stroke:none; fill-opacity:1\" cx=\"512.286\" cy=\"360.457\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"512.286\" cy=\"359.603\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"512.286\" cy=\"358.465\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9d2963; stroke:none; fill-opacity:1\" cx=\"512.286\" cy=\"357.03\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"512.286\" cy=\"356.253\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"512.286\" cy=\"338.716\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"513.703\" cy=\"364.404\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d64a3f; stroke:none; fill-opacity:1\" cx=\"513.703\" cy=\"363.205\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"513.703\" cy=\"362.103\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cc4247; stroke:none; fill-opacity:1\" cx=\"513.703\" cy=\"360.968\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c13a50; stroke:none; fill-opacity:1\" cx=\"513.703\" cy=\"360.191\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#8d2368; stroke:none; fill-opacity:1\" cx=\"513.703\" cy=\"359.074\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#8d2368; stroke:none; fill-opacity:1\" cx=\"513.703\" cy=\"357.683\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"513.703\" cy=\"356.886\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"513.703\" cy=\"356.032\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"513.703\" cy=\"355.157\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a42c60; stroke:none; fill-opacity:1\" cx=\"514.648\" cy=\"364.599\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d24742; stroke:none; fill-opacity:1\" cx=\"514.648\" cy=\"363.459\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a72d5f; stroke:none; fill-opacity:1\" cx=\"514.648\" cy=\"362.619\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"514.648\" cy=\"361.68\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a12b61; stroke:none; fill-opacity:1\" cx=\"514.648\" cy=\"361.375\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d74b3e; stroke:none; fill-opacity:1\" cx=\"514.648\" cy=\"360.683\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"514.648\" cy=\"359.597\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"514.648\" cy=\"358.248\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9a2864; stroke:none; fill-opacity:1\" cx=\"514.648\" cy=\"357.459\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"514.648\" cy=\"356.628\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#4d0d6b; stroke:none; fill-opacity:1\" cx=\"515.592\" cy=\"365.048\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"515.592\" cy=\"364.306\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"515.592\" cy=\"363.436\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#ce4346; stroke:none; fill-opacity:1\" cx=\"515.592\" cy=\"361.888\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d34841; stroke:none; fill-opacity:1\" cx=\"515.592\" cy=\"361.08\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"515.592\" cy=\"360.008\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9d2963; stroke:none; fill-opacity:1\" cx=\"515.592\" cy=\"358.178\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"515.592\" cy=\"356.889\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"515.592\" cy=\"352.923\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"515.592\" cy=\"349.702\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#160b38; stroke:none; fill-opacity:1\" cx=\"516.537\" cy=\"365.528\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a02a62; stroke:none; fill-opacity:1\" cx=\"516.537\" cy=\"364.788\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c73e4c; stroke:none; fill-opacity:1\" cx=\"516.537\" cy=\"363.937\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#e15634; stroke:none; fill-opacity:1\" cx=\"516.537\" cy=\"362.843\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#9d2963; stroke:none; fill-opacity:1\" cx=\"516.537\" cy=\"361.929\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#d14643; stroke:none; fill-opacity:1\" cx=\"516.537\" cy=\"361.461\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"516.537\" cy=\"360.463\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#a12b61; stroke:none; fill-opacity:1\" cx=\"516.537\" cy=\"359.132\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"516.537\" cy=\"357.782\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"516.537\" cy=\"353.854\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#68166e; stroke:none; fill-opacity:1\" cx=\"518.898\" cy=\"365.544\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#bb3754; stroke:none; fill-opacity:1\" cx=\"518.898\" cy=\"364.954\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#c43c4e; stroke:none; fill-opacity:1\" cx=\"518.898\" cy=\"364.345\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#902467; stroke:none; fill-opacity:1\" cx=\"518.898\" cy=\"363.778\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#cb4148; stroke:none; fill-opacity:1\" cx=\"518.898\" cy=\"363.108\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#dd5138; stroke:none; fill-opacity:1\" cx=\"518.898\" cy=\"362.507\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#de5337; stroke:none; fill-opacity:1\" cx=\"518.898\" cy=\"361.873\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#88216a; stroke:none; fill-opacity:1\" cx=\"518.898\" cy=\"360.885\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#2e0a59; stroke:none; fill-opacity:1\" cx=\"518.898\" cy=\"359.806\" r=\"3\"/>\n",
       "<circle clip-path=\"url(#clip8002)\" style=\"fill:#6e186e; stroke:none; fill-opacity:1\" cx=\"518.898\" cy=\"359.102\" r=\"3\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8003\">\n",
       "    <rect x=\"532\" y=\"11\" width=\"19\" height=\"365\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<g clip-path=\"url(#clip8003)\">\n",
       "<image width=\"18\" height=\"364\" xlink:href=\"data:image/png;base64,\n",
       "iVBORw0KGgoAAAANSUhEUgAAABIAAAFsCAYAAADBkelSAAACHUlEQVR4nO2c223EMAwEqUD9V5Eu\n",
       "4yOvBPpjEAwIqoCF9kU5vljnyd8KYP0QIBERN+thgAoC4qhVzqVmcw0Te7BGHLWgkk0BgdQo1yZr\n",
       "lH8Q0Ca7Wxy1Ux8GKBICOhAQaT+lESQ2aD9Gbe1vgU4mAiSkRgEpk824NjnZRvsh1yj7la6N1Qi0\n",
       "35ZsnWtC+yORF1pxo3zUMNcYjZTUVqMeCMFBqUFAUGeN1HRA5Ds2CKjyIEBK+xlqt8qnEUSNAiLf\n",
       "+Y+lFslgTdaImkc3itmUkJpxZm+ym3XLppHwOKI0Eh5HXPt1gw2035Zs0P6x7QeT7aO2rrVAtooY\n",
       "2++z33aukf8PKSutUKNN9j8C5WrUraXWL18gZ2s09mlk8DzaZPdAQvtDRk1oP/TjupMaZT+Uo8Gl\n",
       "NdpPAQmpYa7pks2VFhtsOo249iMwS+3NMs5sBEbZ/qXWA/ke2AfPbIya8WEUAtJVZO3vF2g/g6Oc\n",
       "2XM1AqnZkg0eRxAQtSOlRmt/s4TUVqMXQAyOcmbr5pFu1N6CPqoRJntwaXU5MrZfl+zB1MCfM6Dv\n",
       "sn3n2s7sF0A6apTYGDWhRkmVVpjswa5R1Ar6etmo0cGo2a4JoXYE2n909nPJttkPltZ2/xGYbOge\n",
       "LZ/9Oo2WWr/A0kI34GA7Iv/KnksNm0eDNeKo6dq/rvVAVEWoHQmHf+kumcaoBfQmArwngnON0sjX\n",
       "fs7+udQgoC/rNOfnsknqIwAAAABJRU5ErkJggg==\n",
       "\" transform=\"translate(532, 12)\"/>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 559.315, 333.184)\" x=\"559.315\" y=\"333.184\">-</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 566.342, 333.184)\" x=\"566.342\" y=\"333.184\">10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 559.315, 281.714)\" x=\"559.315\" y=\"281.714\">-</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 566.342, 281.714)\" x=\"566.342\" y=\"281.714\">9</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 559.315, 230.245)\" x=\"559.315\" y=\"230.245\">-</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 566.342, 230.245)\" x=\"566.342\" y=\"230.245\">8</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 559.315, 178.775)\" x=\"559.315\" y=\"178.775\">-</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 566.342, 178.775)\" x=\"566.342\" y=\"178.775\">7</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 559.315, 127.306)\" x=\"559.315\" y=\"127.306\">-</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 566.342, 127.306)\" x=\"566.342\" y=\"127.306\">6</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 559.315, 75.8365)\" x=\"559.315\" y=\"75.8365\">-</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 566.342, 75.8365)\" x=\"566.342\" y=\"75.8365\">5</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 559.315, 24.367)\" x=\"559.315\" y=\"24.367\">-</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 566.342, 24.367)\" x=\"566.342\" y=\"24.367\">4</text>\n",
       "</g>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  550.315,375.869 550.315,329.771 556.315,329.771 550.315,329.771 550.315,278.302 556.315,278.302 550.315,278.302 550.315,226.832 556.315,226.832 550.315,226.832 \n",
       "  550.315,175.363 556.315,175.363 550.315,175.363 550.315,123.893 556.315,123.893 550.315,123.893 550.315,72.4237 556.315,72.4237 550.315,72.4237 550.315,20.9542 \n",
       "  556.315,20.9542 550.315,20.9542 550.315,11.811 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8000)\" points=\"\n",
       "429.608,62.931 502.315,62.931 502.315,32.691 429.608,32.691 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  429.608,62.931 502.315,62.931 502.315,32.691 429.608,32.691 429.608,62.931 \n",
       "  \"/>\n",
       "<circle clip-path=\"url(#clip8000)\" style=\"fill:#000003; stroke:none; fill-opacity:1\" cx=\"456.608\" cy=\"47.811\" r=\"5\"/>\n",
       "<g clip-path=\"url(#clip8000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 477.608, 52.311)\" x=\"477.608\" y=\"52.311\">y1</text>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "partitionplot(t, :carat => x -> -x, :price, stat = Hist(10))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Any valid Plots keyword argument can also be included, such as changing the type of plot series to a barplot.\n",
    "\n",
    "- Here we are essentially plotting `groupby(mean, t, :cut, select = :carat)`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 600 400\">\n",
       "<defs>\n",
       "  <clipPath id=\"clip8200\">\n",
       "    <rect x=\"0\" y=\"0\" width=\"600\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip8200)\" points=\"\n",
       "0,400 600,400 600,0 0,0 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8201\">\n",
       "    <rect x=\"120\" y=\"0\" width=\"421\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip8200)\" points=\"\n",
       "39.1651,375.869 580.315,375.869 580.315,11.811 39.1651,11.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8202\">\n",
       "    <rect x=\"39\" y=\"11\" width=\"542\" height=\"365\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  97.0239,375.869 97.0239,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  97.0239,375.869 97.0239,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  203.382,375.869 203.382,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  203.382,375.869 203.382,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  203.382,375.869 203.382,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  203.382,375.869 203.382,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  309.74,375.869 309.74,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  309.74,375.869 309.74,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  309.74,375.869 309.74,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  416.098,375.869 416.098,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  416.098,375.869 416.098,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  416.098,375.869 416.098,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  416.098,375.869 416.098,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  522.456,375.869 522.456,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  522.456,375.869 522.456,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  39.1651,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  39.1651,288.868 580.315,288.868 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  39.1651,201.868 580.315,201.868 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  39.1651,114.867 580.315,114.867 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  39.1651,27.8667 580.315,27.8667 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  39.1651,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  39.1651,375.869 39.1651,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  97.0239,375.869 97.0239,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  97.0239,375.869 97.0239,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  203.382,375.869 203.382,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  203.382,375.869 203.382,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  203.382,375.869 203.382,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  203.382,375.869 203.382,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  309.74,375.869 309.74,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  309.74,375.869 309.74,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  309.74,375.869 309.74,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  416.098,375.869 416.098,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  416.098,375.869 416.098,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  416.098,375.869 416.098,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  416.098,375.869 416.098,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  522.456,375.869 522.456,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  522.456,375.869 522.456,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  39.1651,375.869 47.2823,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  39.1651,288.868 47.2823,288.868 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  39.1651,201.868 47.2823,201.868 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  39.1651,114.867 47.2823,114.867 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  39.1651,27.8667 47.2823,27.8667 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 97.0239, 389.669)\" x=\"97.0239\" y=\"389.669\">Fair</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 97.0239, 389.669)\" x=\"97.0239\" y=\"389.669\">Fair</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 203.382, 389.669)\" x=\"203.382\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 203.382, 389.669)\" x=\"203.382\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 203.382, 389.669)\" x=\"203.382\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 203.382, 389.669)\" x=\"203.382\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 309.74, 389.669)\" x=\"309.74\" y=\"389.669\">Ideal</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 309.74, 389.669)\" x=\"309.74\" y=\"389.669\">Ideal</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 309.74, 389.669)\" x=\"309.74\" y=\"389.669\">Ideal</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 416.098, 389.669)\" x=\"416.098\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 416.098, 389.669)\" x=\"416.098\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 416.098, 389.669)\" x=\"416.098\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 416.098, 389.669)\" x=\"416.098\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 522.456, 389.669)\" x=\"522.456\" y=\"389.669\">Very Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 522.456, 389.669)\" x=\"522.456\" y=\"389.669\">Very Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 33.1651, 380.369)\" x=\"33.1651\" y=\"380.369\">0.00</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 33.1651, 293.368)\" x=\"33.1651\" y=\"293.368\">0.25</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 33.1651, 206.368)\" x=\"33.1651\" y=\"206.368\">0.50</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 33.1651, 119.367)\" x=\"33.1651\" y=\"119.367\">0.75</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 33.1651, 32.3667)\" x=\"33.1651\" y=\"32.3667\">1.00</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip8202)\" points=\"\n",
       "54.4806,11.811 54.4806,375.869 139.567,375.869 139.567,11.811 54.4806,11.811 54.4806,11.811 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  54.4806,11.811 54.4806,375.869 139.567,375.869 139.567,11.811 54.4806,11.811 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8202)\" points=\"\n",
       "160.839,80.3507 160.839,375.869 245.925,375.869 245.925,80.3507 160.839,80.3507 160.839,80.3507 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  160.839,80.3507 160.839,375.869 245.925,375.869 245.925,80.3507 160.839,80.3507 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8202)\" points=\"\n",
       "267.197,131.28 267.197,375.869 352.283,375.869 352.283,131.28 267.197,131.28 267.197,131.28 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  267.197,131.28 267.197,375.869 352.283,375.869 352.283,131.28 267.197,131.28 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8202)\" points=\"\n",
       "373.555,65.4666 373.555,375.869 458.641,375.869 458.641,65.4666 373.555,65.4666 373.555,65.4666 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  373.555,65.4666 373.555,375.869 458.641,375.869 458.641,65.4666 373.555,65.4666 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8202)\" points=\"\n",
       "479.913,95.2463 479.913,375.869 564.999,375.869 564.999,95.2463 479.913,95.2463 479.913,95.2463 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  479.913,95.2463 479.913,375.869 564.999,375.869 564.999,95.2463 479.913,95.2463 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8200)\" points=\"\n",
       "472.219,62.931 562.315,62.931 562.315,32.691 472.219,32.691 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  472.219,62.931 562.315,62.931 562.315,32.691 472.219,32.691 472.219,62.931 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8200)\" points=\"\n",
       "478.219,53.859 514.219,53.859 514.219,41.763 478.219,41.763 478.219,53.859 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  478.219,53.859 514.219,53.859 514.219,41.763 478.219,41.763 478.219,53.859 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 520.219, 52.311)\" x=\"520.219\" y=\"52.311\">Mean</text>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "partitionplot(t, :cut, :carat; stat = Mean(), seriestype = :bar)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# `reduce` and `groupreduce`\n",
    "\n",
    "- In the following examples, we'll see that the reducer for `reduce` and `groupreduce` can come from OnlineStats.  The OnlineStats reducers can be:\n",
    "  1. A `Series`\n",
    "  1. An `OnlineStat`\n",
    "  1. A tuple of `OnlineStat`s\n",
    "\n",
    "\n",
    "- Here we get the mean of `:carat` for each level of `:cut`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Table with 5 rows, 2 columns:\n",
       "\u001b[1mcut          \u001b[22mMean\n",
       "───────────────────────────────────────────\n",
       "\"Fair\"       Mean: n=1610 | value=1.04614\n",
       "\"Good\"       Mean: n=4906 | value=0.849185\n",
       "\"Ideal\"      Mean: n=21551 | value=0.702837\n",
       "\"Premium\"    Mean: n=13791 | value=0.891955\n",
       "\"Very Good\"  Mean: n=12082 | value=0.806381"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "groupreduce(Mean(), t, :cut; select = :carat)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- We could also calculate the same information with `groupby`\n",
    "- However `[group]reduce` with an OnlineStat is often more efficient."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  0.001051 seconds (246 allocations: 434.906 KiB)\n",
      "  0.947968 seconds (596.38 k allocations: 26.474 MiB, 1.76% gc time)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Table with 5 rows, 2 columns:\n",
       "\u001b[1mcut          \u001b[22mmean\n",
       "─────────────────────\n",
       "\"Fair\"       1.04614\n",
       "\"Good\"       0.849185\n",
       "\"Ideal\"      0.702837\n",
       "\"Premium\"    0.891955\n",
       "\"Very Good\"  0.806381"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "@time groupreduce(Mean(), t, :cut; select = :carat)\n",
    "@time groupby(mean, t, :cut; select = :carat)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Size of Selections\n",
    "\n",
    "- One thing to note is that the selection in `reduce`/`groupreduce` must match the \"input size\" of the `OnlineStat` object passed as an argument.\n",
    "- Different stats can be applied to different columns with the `Group` type.\n",
    "    - Multiple stats of the same type can be created via integer multiplication (see example below)\n",
    "- For example, if you want to calculate the means for 5 different columns, you would use as reducer:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Group\n",
       "  ├── Mean: n=0 | value=0.0\n",
       "  ├── Mean: n=0 | value=0.0\n",
       "  ├── Mean: n=0 | value=0.0\n",
       "  ├── Mean: n=0 | value=0.0\n",
       "  └── Mean: n=0 | value=0.0"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "5 * Mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- In this example we create 3 histograms of 50 bins each to use the columns `:x`, `:y`, and `:z` as input:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Group\n",
       "  ├── Hist: AdaptiveBins\n",
       "  ├── Hist: AdaptiveBins\n",
       "  └── Hist: AdaptiveBins"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hists = reduce(3Hist(50), t; select = (:x, :y, :z))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- The printed histograms do not provide much information.  \n",
    "- Fortunately, OnlineStats implements many Plots recipes.  \n",
    "- Plotting a `Group` will then plot the stats it contains:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 600 400\">\n",
       "<defs>\n",
       "  <clipPath id=\"clip8400\">\n",
       "    <rect x=\"0\" y=\"0\" width=\"600\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip8400)\" points=\"\n",
       "0,400 600,400 600,0 0,0 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8401\">\n",
       "    <rect x=\"120\" y=\"0\" width=\"421\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip8400)\" points=\"\n",
       "42.5104,175.869 280.315,175.869 280.315,11.811 42.5104,11.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8402\">\n",
       "    <rect x=\"42\" y=\"11\" width=\"239\" height=\"165\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip8402)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,175.869 42.5104,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8402)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  97.8653,175.869 97.8653,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8402)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  153.22,175.869 153.22,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8402)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  208.575,175.869 208.575,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8402)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  263.93,175.869 263.93,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8402)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,175.869 280.315,175.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8402)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,142.408 280.315,142.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8402)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,108.947 280.315,108.947 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8402)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,75.4867 280.315,75.4867 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8402)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,42.026 280.315,42.026 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,175.869 280.315,175.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,175.869 42.5104,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,175.869 42.5104,173.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  97.8653,175.869 97.8653,173.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  153.22,175.869 153.22,173.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  208.575,175.869 208.575,173.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  263.93,175.869 263.93,173.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,175.869 46.0774,175.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,142.408 46.0774,142.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,108.947 46.0774,108.947 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,75.4867 46.0774,75.4867 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,42.026 46.0774,42.026 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 42.5104, 189.669)\" x=\"42.5104\" y=\"189.669\">0.0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 97.8653, 189.669)\" x=\"97.8653\" y=\"189.669\">2.5</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 153.22, 189.669)\" x=\"153.22\" y=\"189.669\">5.0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 208.575, 189.669)\" x=\"208.575\" y=\"189.669\">7.5</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 263.93, 189.669)\" x=\"263.93\" y=\"189.669\">10.0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 180.369)\" x=\"36.5104\" y=\"180.369\">0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 146.908)\" x=\"36.5104\" y=\"146.908\">1000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 113.447)\" x=\"36.5104\" y=\"113.447\">2000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 79.9867)\" x=\"36.5104\" y=\"79.9867\">3000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 46.526)\" x=\"36.5104\" y=\"46.526\">4000</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip8402)\" points=\"\n",
       "42.5104,175.869 42.5104,175.601 125.454,175.701 128.233,173.393 130.358,159.573 133.207,155.19 137.649,35.4677 140.437,11.811 143.76,116.61 146.608,93.3881 \n",
       "  149.162,85.2572 152.879,156.227 156.376,47.3463 159.993,96.5669 162.943,152.413 165.244,160.41 168.899,31.3186 172.441,120.056 175.246,148.531 177.597,137.155 \n",
       "  179.863,127.25 183.472,53.1349 186.62,78.1635 189.416,112.528 192.309,114.067 195.212,126.782 197.815,151.476 201.065,147.896 204.631,124.172 207.892,134.712 \n",
       "  211.378,153.55 214.301,168.005 216.627,169.009 218.947,167.47 222.148,146.691 225.38,164.626 227.571,169.377 230.187,168.44 233.33,173.66 235.744,173.961 \n",
       "  238.362,174.597 241.345,175.501 244.076,175.467 247.456,175.701 250.6,175.534 253.246,175.735 256.291,175.802 260.83,175.835 264.151,175.768 268.026,175.802 \n",
       "  280.315,175.835 280.315,175.869 280.315,175.869 280.315,175.869 268.026,175.869 264.151,175.869 260.83,175.869 256.291,175.869 253.246,175.869 250.6,175.869 \n",
       "  247.456,175.869 244.076,175.869 241.345,175.869 238.362,175.869 235.744,175.869 233.33,175.869 230.187,175.869 227.571,175.869 225.38,175.869 222.148,175.869 \n",
       "  218.947,175.869 216.627,175.869 214.301,175.869 211.378,175.869 207.892,175.869 204.631,175.869 201.065,175.869 197.815,175.869 195.212,175.869 192.309,175.869 \n",
       "  189.416,175.869 186.62,175.869 183.472,175.869 179.863,175.869 177.597,175.869 175.246,175.869 172.441,175.869 168.899,175.869 165.244,175.869 162.943,175.869 \n",
       "  159.993,175.869 156.376,175.869 152.879,175.869 149.162,175.869 146.608,175.869 143.76,175.869 140.437,175.869 137.649,175.869 133.207,175.869 130.358,175.869 \n",
       "  128.233,175.869 125.454,175.869 42.5104,175.869 42.5104,175.869 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"0.4\"/>\n",
       "<polyline clip-path=\"url(#clip8402)\" style=\"stroke:#009af9; stroke-width:0; stroke-opacity:0.4; fill:none\" points=\"\n",
       "  42.5104,175.869 42.5104,175.601 125.454,175.701 128.233,173.393 130.358,159.573 133.207,155.19 137.649,35.4677 140.437,11.811 143.76,116.61 146.608,93.3881 \n",
       "  149.162,85.2572 152.879,156.227 156.376,47.3463 159.993,96.5669 162.943,152.413 165.244,160.41 168.899,31.3186 172.441,120.056 175.246,148.531 177.597,137.155 \n",
       "  179.863,127.25 183.472,53.1349 186.62,78.1635 189.416,112.528 192.309,114.067 195.212,126.782 197.815,151.476 201.065,147.896 204.631,124.172 207.892,134.712 \n",
       "  211.378,153.55 214.301,168.005 216.627,169.009 218.947,167.47 222.148,146.691 225.38,164.626 227.571,169.377 230.187,168.44 233.33,173.66 235.744,173.961 \n",
       "  238.362,174.597 241.345,175.501 244.076,175.467 247.456,175.701 250.6,175.534 253.246,175.735 256.291,175.802 260.83,175.835 264.151,175.768 268.026,175.802 \n",
       "  280.315,175.835 280.315,175.869 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8400)\" points=\"\n",
       "189.608,62.931 262.315,62.931 262.315,32.691 189.608,32.691 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  189.608,62.931 262.315,62.931 262.315,32.691 189.608,32.691 189.608,62.931 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8400)\" points=\"\n",
       "195.608,53.859 231.608,53.859 231.608,41.763 195.608,41.763 195.608,53.859 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"0.4\"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#009af9; stroke-width:0; stroke-opacity:0.4; fill:none\" points=\"\n",
       "  195.608,41.763 231.608,41.763 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 237.608, 52.311)\" x=\"237.608\" y=\"52.311\">y1</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip8400)\" points=\"\n",
       "342.51,175.869 580.315,175.869 580.315,11.811 342.51,11.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8403\">\n",
       "    <rect x=\"342\" y=\"11\" width=\"239\" height=\"165\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  342.51,175.869 342.51,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  382.885,175.869 382.885,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  423.259,175.869 423.259,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  463.633,175.869 463.633,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  504.008,175.869 504.008,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  544.382,175.869 544.382,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  342.51,175.869 580.315,175.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  342.51,143.618 580.315,143.618 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  342.51,111.368 580.315,111.368 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  342.51,79.1176 580.315,79.1176 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  342.51,46.8672 580.315,46.8672 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  342.51,14.6168 580.315,14.6168 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  342.51,175.869 580.315,175.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  342.51,175.869 342.51,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  342.51,175.869 342.51,173.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  382.885,175.869 382.885,173.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  423.259,175.869 423.259,173.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  463.633,175.869 463.633,173.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  504.008,175.869 504.008,173.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  544.382,175.869 544.382,173.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  342.51,175.869 346.077,175.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  342.51,143.618 346.077,143.618 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  342.51,111.368 346.077,111.368 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  342.51,79.1176 346.077,79.1176 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  342.51,46.8672 346.077,46.8672 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  342.51,14.6168 346.077,14.6168 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 342.51, 189.669)\" x=\"342.51\" y=\"189.669\">0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 382.885, 189.669)\" x=\"382.885\" y=\"189.669\">10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 423.259, 189.669)\" x=\"423.259\" y=\"189.669\">20</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 463.633, 189.669)\" x=\"463.633\" y=\"189.669\">30</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 504.008, 189.669)\" x=\"504.008\" y=\"189.669\">40</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 544.382, 189.669)\" x=\"544.382\" y=\"189.669\">50</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 336.51, 180.369)\" x=\"336.51\" y=\"180.369\">0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 336.51, 148.118)\" x=\"336.51\" y=\"148.118\">1000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 336.51, 115.868)\" x=\"336.51\" y=\"115.868\">2000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 336.51, 83.6176)\" x=\"336.51\" y=\"83.6176\">3000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 336.51, 51.3672)\" x=\"336.51\" y=\"51.3672\">4000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 336.51, 19.1168)\" x=\"336.51\" y=\"19.1168\">5000</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip8403)\" points=\"\n",
       "342.51,175.869 342.51,175.643 357.694,175.353 358.162,174.643 358.617,160.034 359.165,152.552 359.885,53.4463 360.372,11.811 361.028,105.402 361.761,27.8717 \n",
       "  362.359,161.937 362.809,146.521 363.369,59.9931 363.995,105.079 364.49,157.357 364.906,149.939 365.605,51.479 366.133,127.912 366.573,142.619 367.223,108.756 \n",
       "  367.807,122.591 368.281,94.3075 368.709,92.9207 369.284,79.9238 369.91,126.268 370.372,133.911 370.873,147.521 371.38,161.55 371.927,132.137 372.526,128.557 \n",
       "  373.058,161.034 373.502,158.421 374.154,166.742 374.935,151.649 375.556,158.066 376.198,161.904 376.891,171.676 377.354,173.482 377.898,174.321 378.441,175.385 \n",
       "  378.878,175.449 379.487,175.643 380.157,175.578 380.624,175.74 381.31,175.804 382.198,175.804 382.642,175.804 383.41,175.804 385.065,175.836 470.901,175.836 \n",
       "  580.315,175.836 580.315,175.869 580.315,175.869 580.315,175.869 470.901,175.869 385.065,175.869 383.41,175.869 382.642,175.869 382.198,175.869 381.31,175.869 \n",
       "  380.624,175.869 380.157,175.869 379.487,175.869 378.878,175.869 378.441,175.869 377.898,175.869 377.354,175.869 376.891,175.869 376.198,175.869 375.556,175.869 \n",
       "  374.935,175.869 374.154,175.869 373.502,175.869 373.058,175.869 372.526,175.869 371.927,175.869 371.38,175.869 370.873,175.869 370.372,175.869 369.91,175.869 \n",
       "  369.284,175.869 368.709,175.869 368.281,175.869 367.807,175.869 367.223,175.869 366.573,175.869 366.133,175.869 365.605,175.869 364.906,175.869 364.49,175.869 \n",
       "  363.995,175.869 363.369,175.869 362.809,175.869 362.359,175.869 361.761,175.869 361.028,175.869 360.372,175.869 359.885,175.869 359.165,175.869 358.617,175.869 \n",
       "  358.162,175.869 357.694,175.869 342.51,175.869 342.51,175.869 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"0.4\"/>\n",
       "<polyline clip-path=\"url(#clip8403)\" style=\"stroke:#009af9; stroke-width:0; stroke-opacity:0.4; fill:none\" points=\"\n",
       "  342.51,175.869 342.51,175.643 357.694,175.353 358.162,174.643 358.617,160.034 359.165,152.552 359.885,53.4463 360.372,11.811 361.028,105.402 361.761,27.8717 \n",
       "  362.359,161.937 362.809,146.521 363.369,59.9931 363.995,105.079 364.49,157.357 364.906,149.939 365.605,51.479 366.133,127.912 366.573,142.619 367.223,108.756 \n",
       "  367.807,122.591 368.281,94.3075 368.709,92.9207 369.284,79.9238 369.91,126.268 370.372,133.911 370.873,147.521 371.38,161.55 371.927,132.137 372.526,128.557 \n",
       "  373.058,161.034 373.502,158.421 374.154,166.742 374.935,151.649 375.556,158.066 376.198,161.904 376.891,171.676 377.354,173.482 377.898,174.321 378.441,175.385 \n",
       "  378.878,175.449 379.487,175.643 380.157,175.578 380.624,175.74 381.31,175.804 382.198,175.804 382.642,175.804 383.41,175.804 385.065,175.836 470.901,175.836 \n",
       "  580.315,175.836 580.315,175.869 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8400)\" points=\"\n",
       "489.608,62.931 562.315,62.931 562.315,32.691 489.608,32.691 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  489.608,62.931 562.315,62.931 562.315,32.691 489.608,32.691 489.608,62.931 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8400)\" points=\"\n",
       "495.608,53.859 531.608,53.859 531.608,41.763 495.608,41.763 495.608,53.859 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"0.4\"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#009af9; stroke-width:0; stroke-opacity:0.4; fill:none\" points=\"\n",
       "  495.608,41.763 531.608,41.763 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 537.608, 52.311)\" x=\"537.608\" y=\"52.311\">y2</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip8400)\" points=\"\n",
       "42.5104,375.869 280.315,375.869 280.315,211.811 42.5104,211.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8404\">\n",
       "    <rect x=\"42\" y=\"211\" width=\"239\" height=\"165\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip8404)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,375.869 42.5104,211.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8404)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  117.292,375.869 117.292,211.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8404)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  192.073,375.869 192.073,211.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8404)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  266.854,375.869 266.854,211.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8404)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,375.869 280.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8404)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,346.452 280.315,346.452 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8404)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,317.035 280.315,317.035 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8404)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,287.618 280.315,287.618 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8404)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,258.201 280.315,258.201 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8404)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,228.785 280.315,228.785 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,375.869 280.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,375.869 42.5104,211.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,375.869 42.5104,373.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  117.292,375.869 117.292,373.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  192.073,375.869 192.073,373.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  266.854,375.869 266.854,373.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,375.869 46.0774,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,346.452 46.0774,346.452 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,317.035 46.0774,317.035 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,287.618 46.0774,287.618 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,258.201 46.0774,258.201 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,228.785 46.0774,228.785 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 42.5104, 389.669)\" x=\"42.5104\" y=\"389.669\">0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 117.292, 389.669)\" x=\"117.292\" y=\"389.669\">10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 192.073, 389.669)\" x=\"192.073\" y=\"389.669\">20</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 266.854, 389.669)\" x=\"266.854\" y=\"389.669\">30</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 380.369)\" x=\"36.5104\" y=\"380.369\">0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 350.952)\" x=\"36.5104\" y=\"350.952\">1000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 321.535)\" x=\"36.5104\" y=\"321.535\">2000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 292.118)\" x=\"36.5104\" y=\"292.118\">3000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 262.701)\" x=\"36.5104\" y=\"262.701\">4000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 233.285)\" x=\"36.5104\" y=\"233.285\">5000</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip8404)\" points=\"\n",
       "42.5104,375.869 42.5104,375.28 50.512,375.839 53.0545,375.839 53.9519,375.839 57.9153,375.839 59.4483,375.692 59.9843,374.81 60.7961,359.895 61.6435,343.951 \n",
       "  62.442,264.761 62.971,222.077 63.8222,298.032 64.6547,260.908 65.5707,349.658 66.2666,284.882 66.9233,287.353 67.6694,355.718 68.2332,352.218 69.0141,250.023 \n",
       "  69.7063,340.421 70.2679,348.393 70.813,349.041 71.4281,299.238 72.3706,211.811 73.016,334.891 73.5878,316.476 74.3431,310.887 75.1623,356.13 75.9334,348.482 \n",
       "  76.6903,316.947 77.4098,356.012 78.1362,359.601 78.9097,368.426 79.5767,362.69 80.3127,347.599 81.3705,365.602 82.2957,373.192 83.251,373.545 84.0967,375.31 \n",
       "  84.6721,375.575 85.5657,375.633 86.5566,375.692 87.3979,375.751 88.5258,375.78 89.4232,375.78 90.4078,375.81 92.7634,375.839 94.7077,375.839 102.784,375.839 \n",
       "  280.315,375.839 280.315,375.869 280.315,375.869 280.315,375.869 102.784,375.869 94.7077,375.869 92.7634,375.869 90.4078,375.869 89.4232,375.869 88.5258,375.869 \n",
       "  87.3979,375.869 86.5566,375.869 85.5657,375.869 84.6721,375.869 84.0967,375.869 83.251,375.869 82.2957,375.869 81.3705,375.869 80.3127,375.869 79.5767,375.869 \n",
       "  78.9097,375.869 78.1362,375.869 77.4098,375.869 76.6903,375.869 75.9334,375.869 75.1623,375.869 74.3431,375.869 73.5878,375.869 73.016,375.869 72.3706,375.869 \n",
       "  71.4281,375.869 70.813,375.869 70.2679,375.869 69.7063,375.869 69.0141,375.869 68.2332,375.869 67.6694,375.869 66.9233,375.869 66.2666,375.869 65.5707,375.869 \n",
       "  64.6547,375.869 63.8222,375.869 62.971,375.869 62.442,375.869 61.6435,375.869 60.7961,375.869 59.9843,375.869 59.4483,375.869 57.9153,375.869 53.9519,375.869 \n",
       "  53.0545,375.869 50.512,375.869 42.5104,375.869 42.5104,375.869 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"0.4\"/>\n",
       "<polyline clip-path=\"url(#clip8404)\" style=\"stroke:#009af9; stroke-width:0; stroke-opacity:0.4; fill:none\" points=\"\n",
       "  42.5104,375.869 42.5104,375.28 50.512,375.839 53.0545,375.839 53.9519,375.839 57.9153,375.839 59.4483,375.692 59.9843,374.81 60.7961,359.895 61.6435,343.951 \n",
       "  62.442,264.761 62.971,222.077 63.8222,298.032 64.6547,260.908 65.5707,349.658 66.2666,284.882 66.9233,287.353 67.6694,355.718 68.2332,352.218 69.0141,250.023 \n",
       "  69.7063,340.421 70.2679,348.393 70.813,349.041 71.4281,299.238 72.3706,211.811 73.016,334.891 73.5878,316.476 74.3431,310.887 75.1623,356.13 75.9334,348.482 \n",
       "  76.6903,316.947 77.4098,356.012 78.1362,359.601 78.9097,368.426 79.5767,362.69 80.3127,347.599 81.3705,365.602 82.2957,373.192 83.251,373.545 84.0967,375.31 \n",
       "  84.6721,375.575 85.5657,375.633 86.5566,375.692 87.3979,375.751 88.5258,375.78 89.4232,375.78 90.4078,375.81 92.7634,375.839 94.7077,375.839 102.784,375.839 \n",
       "  280.315,375.839 280.315,375.869 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8400)\" points=\"\n",
       "189.608,262.931 262.315,262.931 262.315,232.691 189.608,232.691 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  189.608,262.931 262.315,262.931 262.315,232.691 189.608,232.691 189.608,262.931 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8400)\" points=\"\n",
       "195.608,253.859 231.608,253.859 231.608,241.763 195.608,241.763 195.608,253.859 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"0.4\"/>\n",
       "<polyline clip-path=\"url(#clip8400)\" style=\"stroke:#009af9; stroke-width:0; stroke-opacity:0.4; fill:none\" points=\"\n",
       "  195.608,241.763 231.608,241.763 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8400)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 237.608, 252.311)\" x=\"237.608\" y=\"252.311\">y3</text>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plot(hists, layout = 3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- You may also want to calculate different statistics for different columns."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Group\n",
       "  ├── Mean: n=0 | value=0.0\n",
       "  └── CountMap: n=0 | value=DataStructures.OrderedDict{String,Int64}()"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reducer = Group(Mean(), CountMap(String))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 600 400\">\n",
       "<defs>\n",
       "  <clipPath id=\"clip8600\">\n",
       "    <rect x=\"0\" y=\"0\" width=\"600\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip8600)\" points=\"\n",
       "0,400 600,400 600,0 0,0 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8601\">\n",
       "    <rect x=\"120\" y=\"0\" width=\"421\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip8600)\" points=\"\n",
       "32.4745,375.869 263.558,375.869 263.558,11.811 32.4745,11.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8602\">\n",
       "    <rect x=\"32\" y=\"11\" width=\"232\" height=\"365\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:21; text-anchor:middle;\" transform=\"rotate(0, 148.016, 110.325)\" x=\"148.016\" y=\"110.325\">Mean{EqualWeight}:</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:21; text-anchor:middle;\" transform=\"rotate(0, 148.016, 237.746)\" x=\"148.016\" y=\"237.746\">0.7979397478680006</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip8600)\" points=\"\n",
       "349.231,375.869 580.315,375.869 580.315,11.811 349.231,11.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8603\">\n",
       "    <rect x=\"349\" y=\"11\" width=\"232\" height=\"365\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  373.938,375.869 373.938,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  373.938,375.869 373.938,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  419.356,375.869 419.356,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  419.356,375.869 419.356,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  419.356,375.869 419.356,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  419.356,375.869 419.356,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  464.773,375.869 464.773,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  464.773,375.869 464.773,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  464.773,375.869 464.773,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  510.19,375.869 510.19,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  510.19,375.869 510.19,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  510.19,375.869 510.19,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  510.19,375.869 510.19,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  555.608,375.869 555.608,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  555.608,375.869 555.608,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  349.231,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  349.231,291.404 580.315,291.404 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  349.231,206.94 580.315,206.94 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  349.231,122.476 580.315,122.476 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  349.231,38.0118 580.315,38.0118 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  349.231,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  349.231,375.869 349.231,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  373.938,375.869 373.938,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  373.938,375.869 373.938,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  419.356,375.869 419.356,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  419.356,375.869 419.356,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  419.356,375.869 419.356,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  419.356,375.869 419.356,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  464.773,375.869 464.773,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  464.773,375.869 464.773,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  464.773,375.869 464.773,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  510.19,375.869 510.19,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  510.19,375.869 510.19,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  510.19,375.869 510.19,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  510.19,375.869 510.19,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  555.608,375.869 555.608,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  555.608,375.869 555.608,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  349.231,375.869 352.697,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  349.231,291.404 352.697,291.404 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  349.231,206.94 352.697,206.94 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  349.231,122.476 352.697,122.476 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  349.231,38.0118 352.697,38.0118 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 373.938, 389.669)\" x=\"373.938\" y=\"389.669\">Fair</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 373.938, 389.669)\" x=\"373.938\" y=\"389.669\">Fair</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 419.356, 389.669)\" x=\"419.356\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 419.356, 389.669)\" x=\"419.356\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 419.356, 389.669)\" x=\"419.356\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 419.356, 389.669)\" x=\"419.356\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 464.773, 389.669)\" x=\"464.773\" y=\"389.669\">Ideal</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 464.773, 389.669)\" x=\"464.773\" y=\"389.669\">Ideal</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 464.773, 389.669)\" x=\"464.773\" y=\"389.669\">Ideal</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 510.19, 389.669)\" x=\"510.19\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 510.19, 389.669)\" x=\"510.19\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 510.19, 389.669)\" x=\"510.19\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 510.19, 389.669)\" x=\"510.19\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 555.608, 389.669)\" x=\"555.608\" y=\"389.669\">Very Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 555.608, 389.669)\" x=\"555.608\" y=\"389.669\">Very Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 343.231, 380.369)\" x=\"343.231\" y=\"380.369\">0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 300.66, 297.336)\" x=\"300.66\" y=\"297.336\">5.0×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 337.795, 290.484)\" x=\"337.795\" y=\"290.484\">3</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 300.66, 212.872)\" x=\"300.66\" y=\"212.872\">1.0×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 337.795, 206.02)\" x=\"337.795\" y=\"206.02\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 300.66, 128.408)\" x=\"300.66\" y=\"128.408\">1.5×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 337.795, 121.555)\" x=\"337.795\" y=\"121.555\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 300.66, 43.9437)\" x=\"300.66\" y=\"43.9437\">2.0×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 337.795, 37.0911)\" x=\"337.795\" y=\"37.0911\">4</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip8603)\" points=\"\n",
       "355.771,348.671 355.771,375.869 392.105,375.869 392.105,348.671 355.771,348.671 355.771,348.671 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  355.771,348.671 355.771,375.869 392.105,375.869 392.105,348.671 355.771,348.671 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8603)\" points=\"\n",
       "401.189,292.992 401.189,375.869 437.523,375.869 437.523,292.992 401.189,292.992 401.189,292.992 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  401.189,292.992 401.189,375.869 437.523,375.869 437.523,292.992 401.189,292.992 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8603)\" points=\"\n",
       "446.606,11.811 446.606,375.869 482.94,375.869 482.94,11.811 446.606,11.811 446.606,11.811 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  446.606,11.811 446.606,375.869 482.94,375.869 482.94,11.811 446.606,11.811 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8603)\" points=\"\n",
       "492.023,142.899 492.023,375.869 528.357,375.869 528.357,142.899 492.023,142.899 492.023,142.899 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  492.023,142.899 492.023,375.869 528.357,375.869 528.357,142.899 492.023,142.899 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8603)\" points=\"\n",
       "537.441,171.769 537.441,375.869 573.775,375.869 573.775,171.769 537.441,171.769 537.441,171.769 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8603)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  537.441,171.769 537.441,375.869 573.775,375.869 573.775,171.769 537.441,171.769 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8600)\" points=\"\n",
       "489.608,62.931 562.315,62.931 562.315,32.691 489.608,32.691 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  489.608,62.931 562.315,62.931 562.315,32.691 489.608,32.691 489.608,62.931 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8600)\" points=\"\n",
       "495.608,53.859 531.608,53.859 531.608,41.763 495.608,41.763 495.608,53.859 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  495.608,53.859 531.608,53.859 531.608,41.763 495.608,41.763 495.608,53.859 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8600)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 537.608, 52.311)\" x=\"537.608\" y=\"52.311\">y2</text>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plot(reduce(reducer, t; select = (:carat, :cut)), layout = 2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualizing Continuous Distributions\n",
    "\n",
    "- The `Hist` type is particularly useful for visualizing continuous distributions, as it adaptively finds the \"best\" bin locations.\n",
    "\n",
    "- In the following cell, try increasing the number of bins and see how the histogram changes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 600 400\">\n",
       "<defs>\n",
       "  <clipPath id=\"clip8800\">\n",
       "    <rect x=\"0\" y=\"0\" width=\"600\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip8800)\" points=\"\n",
       "0,400 600,400 600,0 0,0 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8801\">\n",
       "    <rect x=\"120\" y=\"0\" width=\"421\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip8800)\" points=\"\n",
       "42.5104,375.869 580.315,375.869 580.315,11.811 42.5104,11.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip8802\">\n",
       "    <rect x=\"42\" y=\"11\" width=\"539\" height=\"365\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip8802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  131.958,375.869 131.958,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  243.768,375.869 243.768,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  355.577,375.869 355.577,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  467.387,375.869 467.387,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  579.197,375.869 579.197,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,289.63 580.315,289.63 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,203.391 580.315,203.391 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,117.152 580.315,117.152 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8802)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  42.5104,30.9129 580.315,30.9129 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,375.869 42.5104,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  131.958,375.869 131.958,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  243.768,375.869 243.768,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  355.577,375.869 355.577,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  467.387,375.869 467.387,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  579.197,375.869 579.197,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,375.869 50.5774,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,289.63 50.5774,289.63 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,203.391 50.5774,203.391 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,117.152 50.5774,117.152 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  42.5104,30.9129 50.5774,30.9129 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 131.958, 389.669)\" x=\"131.958\" y=\"389.669\">1</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 243.768, 389.669)\" x=\"243.768\" y=\"389.669\">2</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 355.577, 389.669)\" x=\"355.577\" y=\"389.669\">3</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 467.387, 389.669)\" x=\"467.387\" y=\"389.669\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 579.197, 389.669)\" x=\"579.197\" y=\"389.669\">5</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 380.369)\" x=\"36.5104\" y=\"380.369\">0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 294.13)\" x=\"36.5104\" y=\"294.13\">2000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 207.891)\" x=\"36.5104\" y=\"207.891\">4000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 121.652)\" x=\"36.5104\" y=\"121.652\">6000</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip8800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 36.5104, 35.4129)\" x=\"36.5104\" y=\"35.4129\">8000</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip8802)\" points=\"\n",
       "42.5104,375.869 47.349,331.111 54.7867,11.811 60.5365,220.164 66.7259,182.952 78.1627,154.235 85.5031,281.739 93.1217,365.477 99.4455,178.295 105.279,314.855 \n",
       "  111.604,336.414 121.444,265.612 127.728,364.744 133.419,129.915 139.067,318.865 145.721,289.285 155.933,273.719 164.985,333.353 172.009,368.409 177.366,366.641 \n",
       "  183.757,373.238 189.437,267.639 197.105,352.067 203.493,365.477 212.39,347.927 223.379,372.937 231.27,373.928 237.409,375.179 246.184,318.951 257.525,362.976 \n",
       "  266.072,370.048 271.675,372.678 277.156,372.117 282.805,374.36 290.16,373.238 300.347,373.152 305.742,374.963 312.378,375.394 318.201,375.567 325.277,375.437 \n",
       "  332.097,375.739 356.825,374.748 367.877,375.826 381.294,375.782 400.301,375.826 412.041,375.782 429.372,375.782 468.133,375.739 481.922,375.826 523.292,375.826 \n",
       "  580.315,375.826 580.315,375.869 580.315,375.869 580.315,375.869 523.292,375.869 481.922,375.869 468.133,375.869 429.372,375.869 412.041,375.869 400.301,375.869 \n",
       "  381.294,375.869 367.877,375.869 356.825,375.869 332.097,375.869 325.277,375.869 318.201,375.869 312.378,375.869 305.742,375.869 300.347,375.869 290.16,375.869 \n",
       "  282.805,375.869 277.156,375.869 271.675,375.869 266.072,375.869 257.525,375.869 246.184,375.869 237.409,375.869 231.27,375.869 223.379,375.869 212.39,375.869 \n",
       "  203.493,375.869 197.105,375.869 189.437,375.869 183.757,375.869 177.366,375.869 172.009,375.869 164.985,375.869 155.933,375.869 145.721,375.869 139.067,375.869 \n",
       "  133.419,375.869 127.728,375.869 121.444,375.869 111.604,375.869 105.279,375.869 99.4455,375.869 93.1217,375.869 85.5031,375.869 78.1627,375.869 66.7259,375.869 \n",
       "  60.5365,375.869 54.7867,375.869 47.349,375.869 42.5104,375.869 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"0.4\"/>\n",
       "<polyline clip-path=\"url(#clip8802)\" style=\"stroke:#009af9; stroke-width:0; stroke-opacity:0.4; fill:none\" points=\"\n",
       "  42.5104,375.869 47.349,331.111 54.7867,11.811 60.5365,220.164 66.7259,182.952 78.1627,154.235 85.5031,281.739 93.1217,365.477 99.4455,178.295 105.279,314.855 \n",
       "  111.604,336.414 121.444,265.612 127.728,364.744 133.419,129.915 139.067,318.865 145.721,289.285 155.933,273.719 164.985,333.353 172.009,368.409 177.366,366.641 \n",
       "  183.757,373.238 189.437,267.639 197.105,352.067 203.493,365.477 212.39,347.927 223.379,372.937 231.27,373.928 237.409,375.179 246.184,318.951 257.525,362.976 \n",
       "  266.072,370.048 271.675,372.678 277.156,372.117 282.805,374.36 290.16,373.238 300.347,373.152 305.742,374.963 312.378,375.394 318.201,375.567 325.277,375.437 \n",
       "  332.097,375.739 356.825,374.748 367.877,375.826 381.294,375.782 400.301,375.826 412.041,375.782 429.372,375.782 468.133,375.739 481.922,375.826 523.292,375.826 \n",
       "  580.315,375.826 580.315,375.869 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8800)\" points=\"\n",
       "489.608,62.931 562.315,62.931 562.315,32.691 489.608,32.691 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  489.608,62.931 562.315,62.931 562.315,32.691 489.608,32.691 489.608,62.931 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip8800)\" points=\"\n",
       "495.608,53.859 531.608,53.859 531.608,41.763 495.608,41.763 495.608,53.859 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"0.4\"/>\n",
       "<polyline clip-path=\"url(#clip8800)\" style=\"stroke:#009af9; stroke-width:0; stroke-opacity:0.4; fill:none\" points=\"\n",
       "  495.608,41.763 531.608,41.763 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip8800)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 537.608, 52.311)\" x=\"537.608\" y=\"52.311\">y1</text>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# try increasing the number of bins\n",
    "plot(reduce(Hist(50), t; select = :carat))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualizing Categorical Distributions\n",
    "\n",
    "- The `CountMap` type tracks the number of occurrences for each unique value in a column. \n",
    "- `CountMap` accepts the column type as its argument.\n",
    "- The `:cut` column is of type `String`, so here we use `CountMap(String)`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 600 400\">\n",
       "<defs>\n",
       "  <clipPath id=\"clip9000\">\n",
       "    <rect x=\"0\" y=\"0\" width=\"600\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip9000)\" points=\"\n",
       "0,400 600,400 600,0 0,0 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip9001\">\n",
       "    <rect x=\"120\" y=\"0\" width=\"421\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip9000)\" points=\"\n",
       "65.9876,375.869 580.315,375.869 580.315,11.811 65.9876,11.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip9002\">\n",
       "    <rect x=\"65\" y=\"11\" width=\"515\" height=\"365\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  120.979,375.869 120.979,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  120.979,375.869 120.979,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  222.065,375.869 222.065,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  222.065,375.869 222.065,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  222.065,375.869 222.065,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  222.065,375.869 222.065,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  323.151,375.869 323.151,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  323.151,375.869 323.151,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  323.151,375.869 323.151,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  424.238,375.869 424.238,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  424.238,375.869 424.238,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  424.238,375.869 424.238,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  424.238,375.869 424.238,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  525.324,375.869 525.324,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  525.324,375.869 525.324,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  65.9876,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  65.9876,291.404 580.315,291.404 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  65.9876,206.94 580.315,206.94 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  65.9876,122.476 580.315,122.476 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  65.9876,38.0118 580.315,38.0118 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,375.869 65.9876,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  120.979,375.869 120.979,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  120.979,375.869 120.979,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  222.065,375.869 222.065,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  222.065,375.869 222.065,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  222.065,375.869 222.065,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  222.065,375.869 222.065,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  323.151,375.869 323.151,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  323.151,375.869 323.151,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  323.151,375.869 323.151,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  424.238,375.869 424.238,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  424.238,375.869 424.238,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  424.238,375.869 424.238,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  424.238,375.869 424.238,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  525.324,375.869 525.324,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  525.324,375.869 525.324,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,375.869 73.7025,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,291.404 73.7025,291.404 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,206.94 73.7025,206.94 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,122.476 73.7025,122.476 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  65.9876,38.0118 73.7025,38.0118 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 120.979, 389.669)\" x=\"120.979\" y=\"389.669\">Fair</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 120.979, 389.669)\" x=\"120.979\" y=\"389.669\">Fair</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 222.065, 389.669)\" x=\"222.065\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 222.065, 389.669)\" x=\"222.065\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 222.065, 389.669)\" x=\"222.065\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 222.065, 389.669)\" x=\"222.065\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 323.151, 389.669)\" x=\"323.151\" y=\"389.669\">Ideal</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 323.151, 389.669)\" x=\"323.151\" y=\"389.669\">Ideal</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 323.151, 389.669)\" x=\"323.151\" y=\"389.669\">Ideal</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 424.238, 389.669)\" x=\"424.238\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 424.238, 389.669)\" x=\"424.238\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 424.238, 389.669)\" x=\"424.238\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 424.238, 389.669)\" x=\"424.238\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 525.324, 389.669)\" x=\"525.324\" y=\"389.669\">Very Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 525.324, 389.669)\" x=\"525.324\" y=\"389.669\">Very Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 59.9876, 380.369)\" x=\"59.9876\" y=\"380.369\">0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 297.336)\" x=\"17.4163\" y=\"297.336\">5.0×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 54.5515, 290.484)\" x=\"54.5515\" y=\"290.484\">3</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 212.872)\" x=\"17.4163\" y=\"212.872\">1.0×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 54.5515, 206.02)\" x=\"54.5515\" y=\"206.02\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 128.408)\" x=\"17.4163\" y=\"128.408\">1.5×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 54.5515, 121.555)\" x=\"54.5515\" y=\"121.555\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 17.4163, 43.9437)\" x=\"17.4163\" y=\"43.9437\">2.0×10</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:10; text-anchor:start;\" transform=\"rotate(0, 54.5515, 37.0911)\" x=\"54.5515\" y=\"37.0911\">4</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip9002)\" points=\"\n",
       "80.544,348.671 80.544,375.869 161.413,375.869 161.413,348.671 80.544,348.671 80.544,348.671 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  80.544,348.671 80.544,375.869 161.413,375.869 161.413,348.671 80.544,348.671 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9002)\" points=\"\n",
       "181.63,292.992 181.63,375.869 262.499,375.869 262.499,292.992 181.63,292.992 181.63,292.992 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  181.63,292.992 181.63,375.869 262.499,375.869 262.499,292.992 181.63,292.992 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9002)\" points=\"\n",
       "282.717,11.811 282.717,375.869 363.586,375.869 363.586,11.811 282.717,11.811 282.717,11.811 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  282.717,11.811 282.717,375.869 363.586,375.869 363.586,11.811 282.717,11.811 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9002)\" points=\"\n",
       "383.803,142.899 383.803,375.869 464.672,375.869 464.672,142.899 383.803,142.899 383.803,142.899 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  383.803,142.899 383.803,375.869 464.672,375.869 464.672,142.899 383.803,142.899 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9002)\" points=\"\n",
       "484.889,171.769 484.889,375.869 565.759,375.869 565.759,171.769 484.889,171.769 484.889,171.769 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9002)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  484.889,171.769 484.889,375.869 565.759,375.869 565.759,171.769 484.889,171.769 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9000)\" points=\"\n",
       "489.608,62.931 562.315,62.931 562.315,32.691 489.608,32.691 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  489.608,62.931 562.315,62.931 562.315,32.691 489.608,32.691 489.608,62.931 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9000)\" points=\"\n",
       "495.608,53.859 531.608,53.859 531.608,41.763 495.608,41.763 495.608,53.859 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9000)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  495.608,53.859 531.608,53.859 531.608,41.763 495.608,41.763 495.608,53.859 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip9000)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 537.608, 52.311)\" x=\"537.608\" y=\"52.311\">y1</text>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plot(reduce(CountMap(String), t; select = :cut))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Mosaic Plot\n",
    "\n",
    "- Mosaic plots are extremely useful in visualizing the association between two categorical variables, as it shows class probabilities of the `x` variables and conditional class probabilities of the `y` variable.  \n",
    "- `Mosaic` accepts the two column types as its input.\n",
    "\n",
    "\n",
    "- The `:cut` and `:color` variables are both of type `String`, so here we use `Mosiac(String, String)`.  \n",
    "- We can see most common `:cut` is `\"Ideal\"` and the least common is `\"Fair\"` (which we already know from above)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 600 400\">\n",
       "<defs>\n",
       "  <clipPath id=\"clip9200\">\n",
       "    <rect x=\"0\" y=\"0\" width=\"600\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip9200)\" points=\"\n",
       "0,400 600,400 600,0 0,0 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip9201\">\n",
       "    <rect x=\"120\" y=\"0\" width=\"421\" height=\"400\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polygon clip-path=\"url(#clip9200)\" points=\"\n",
       "32.4745,375.869 580.315,375.869 580.315,11.811 32.4745,11.811 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip9202\">\n",
       "    <rect x=\"32\" y=\"11\" width=\"549\" height=\"365\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  40.6505,375.869 40.6505,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  73.7403,375.869 73.7403,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  208.095,375.869 208.095,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  387.57,375.869 387.57,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  518.96,375.869 518.96,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  32.4745,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  32.4745,303.057 580.315,303.057 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  32.4745,230.246 580.315,230.246 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  32.4745,157.434 580.315,157.434 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  32.4745,84.6226 580.315,84.6226 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:0.5; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  32.4745,11.811 580.315,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,375.869 580.315,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,375.869 32.4745,11.811 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  40.6505,375.869 40.6505,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  73.7403,375.869 73.7403,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  208.095,375.869 208.095,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  387.57,375.869 387.57,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  518.96,375.869 518.96,370.408 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,375.869 40.6921,375.869 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,303.057 40.6921,303.057 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,230.246 40.6921,230.246 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,157.434 40.6921,157.434 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,84.6226 40.6921,84.6226 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,11.811 40.6921,11.811 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 40.6505, 389.669)\" x=\"40.6505\" y=\"389.669\">Fair</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 73.7403, 389.669)\" x=\"73.7403\" y=\"389.669\">Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 208.095, 389.669)\" x=\"208.095\" y=\"389.669\">Ideal</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 387.57, 389.669)\" x=\"387.57\" y=\"389.669\">Premium</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:middle;\" transform=\"rotate(0, 518.96, 389.669)\" x=\"518.96\" y=\"389.669\">Very Good</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 26.4745, 380.369)\" x=\"26.4745\" y=\"380.369\">0.0</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 26.4745, 307.557)\" x=\"26.4745\" y=\"307.557\">0.2</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 26.4745, 234.746)\" x=\"26.4745\" y=\"234.746\">0.4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 26.4745, 161.934)\" x=\"26.4745\" y=\"161.934\">0.6</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 26.4745, 89.1226)\" x=\"26.4745\" y=\"89.1226\">0.8</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:end;\" transform=\"rotate(0, 26.4745, 16.311)\" x=\"26.4745\" y=\"16.311\">1.0</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "32.4745,11.811 32.4745,375.869 48.8264,375.869 48.8264,11.811 32.4745,11.811 32.4745,11.811 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,11.811 32.4745,375.869 48.8264,375.869 48.8264,11.811 32.4745,11.811 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "48.8264,11.811 48.8264,375.869 98.6541,375.869 98.6541,11.811 48.8264,11.811 48.8264,11.811 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  48.8264,11.811 48.8264,375.869 98.6541,375.869 98.6541,11.811 48.8264,11.811 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "98.6541,11.811 98.6541,375.869 317.536,375.869 317.536,11.811 98.6541,11.811 98.6541,11.811 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  98.6541,11.811 98.6541,375.869 317.536,375.869 317.536,11.811 98.6541,11.811 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "317.536,11.811 317.536,375.869 457.604,375.869 457.604,11.811 317.536,11.811 317.536,11.811 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  317.536,11.811 317.536,375.869 457.604,375.869 457.604,11.811 317.536,11.811 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "457.604,11.811 457.604,375.869 580.315,375.869 580.315,11.811 457.604,11.811 457.604,11.811 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  457.604,11.811 457.604,375.869 580.315,375.869 580.315,11.811 457.604,11.811 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "32.4745,48.669 32.4745,375.869 48.8264,375.869 48.8264,48.669 32.4745,48.669 32.4745,48.669 \n",
       "  \" fill=\"#e26f46\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,48.669 32.4745,375.869 48.8264,375.869 48.8264,48.669 32.4745,48.669 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "48.8264,60.9358 48.8264,375.869 98.6541,375.869 98.6541,60.9358 48.8264,60.9358 48.8264,60.9358 \n",
       "  \" fill=\"#e26f46\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  48.8264,60.9358 48.8264,375.869 98.6541,375.869 98.6541,60.9358 48.8264,60.9358 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "98.6541,59.6853 98.6541,375.869 317.536,375.869 317.536,59.6853 98.6541,59.6853 98.6541,59.6853 \n",
       "  \" fill=\"#e26f46\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  98.6541,59.6853 98.6541,375.869 317.536,375.869 317.536,59.6853 98.6541,59.6853 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "317.536,54.1273 317.536,375.869 457.604,375.869 457.604,54.1273 317.536,54.1273 317.536,54.1273 \n",
       "  \" fill=\"#e26f46\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  317.536,54.1273 317.536,375.869 457.604,375.869 457.604,54.1273 317.536,54.1273 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "457.604,57.4011 457.604,375.869 580.315,375.869 580.315,57.4011 457.604,57.4011 457.604,57.4011 \n",
       "  \" fill=\"#e26f46\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  457.604,57.4011 457.604,375.869 580.315,375.869 580.315,57.4011 457.604,57.4011 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "32.4745,99.3205 32.4745,375.869 48.8264,375.869 48.8264,99.3205 32.4745,99.3205 32.4745,99.3205 \n",
       "  \" fill=\"#3da44d\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,99.3205 32.4745,375.869 48.8264,375.869 48.8264,99.3205 32.4745,99.3205 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "48.8264,130.171 48.8264,375.869 98.6541,375.869 98.6541,130.171 48.8264,130.171 48.8264,130.171 \n",
       "  \" fill=\"#3da44d\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  48.8264,130.171 48.8264,375.869 98.6541,375.869 98.6541,130.171 48.8264,130.171 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "98.6541,125.618 98.6541,375.869 317.536,375.869 317.536,125.618 98.6541,125.618 98.6541,125.618 \n",
       "  \" fill=\"#3da44d\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  98.6541,125.618 98.6541,375.869 317.536,375.869 317.536,125.618 98.6541,125.618 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "317.536,115.82 317.536,375.869 457.604,375.869 457.604,115.82 317.536,115.82 317.536,115.82 \n",
       "  \" fill=\"#3da44d\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  317.536,115.82 317.536,375.869 457.604,375.869 457.604,115.82 317.536,115.82 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "457.604,129.718 457.604,375.869 580.315,375.869 580.315,129.718 457.604,129.718 457.604,129.718 \n",
       "  \" fill=\"#3da44d\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  457.604,129.718 457.604,375.869 580.315,375.869 580.315,129.718 457.604,129.718 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "32.4745,169.871 32.4745,375.869 48.8264,375.869 48.8264,169.871 32.4745,169.871 32.4745,169.871 \n",
       "  \" fill=\"#c271d2\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,169.871 32.4745,375.869 48.8264,375.869 48.8264,169.871 32.4745,169.871 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "48.8264,197.624 48.8264,375.869 98.6541,375.869 98.6541,197.624 48.8264,197.624 48.8264,197.624 \n",
       "  \" fill=\"#c271d2\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  48.8264,197.624 48.8264,375.869 98.6541,375.869 98.6541,197.624 48.8264,197.624 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "98.6541,190.25 98.6541,375.869 317.536,375.869 317.536,190.25 98.6541,190.25 98.6541,190.25 \n",
       "  \" fill=\"#c271d2\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  98.6541,190.25 98.6541,375.869 317.536,375.869 317.536,190.25 98.6541,190.25 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "317.536,177.354 317.536,375.869 457.604,375.869 457.604,177.354 317.536,177.354 317.536,177.354 \n",
       "  \" fill=\"#c271d2\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  317.536,177.354 317.536,375.869 457.604,375.869 457.604,177.354 317.536,177.354 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "457.604,194.925 457.604,375.869 580.315,375.869 580.315,194.925 457.604,194.925 457.604,194.925 \n",
       "  \" fill=\"#c271d2\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  457.604,194.925 457.604,375.869 580.315,375.869 580.315,194.925 457.604,194.925 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "32.4745,240.873 32.4745,375.869 48.8264,375.869 48.8264,240.873 32.4745,240.873 32.4745,240.873 \n",
       "  \" fill=\"#ac8d18\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,240.873 32.4745,375.869 48.8264,375.869 48.8264,240.873 32.4745,240.873 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "48.8264,262.258 48.8264,375.869 98.6541,375.869 98.6541,262.258 48.8264,262.258 48.8264,262.258 \n",
       "  \" fill=\"#ac8d18\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  48.8264,262.258 48.8264,375.869 98.6541,375.869 98.6541,262.258 48.8264,262.258 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "98.6541,272.755 98.6541,375.869 317.536,375.869 317.536,272.755 98.6541,272.755 98.6541,272.755 \n",
       "  \" fill=\"#ac8d18\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  98.6541,272.755 98.6541,375.869 317.536,375.869 317.536,272.755 98.6541,272.755 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "317.536,254.543 317.536,375.869 457.604,375.869 457.604,254.543 317.536,254.543 317.536,254.543 \n",
       "  \" fill=\"#ac8d18\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  317.536,254.543 317.536,375.869 457.604,375.869 457.604,254.543 317.536,254.543 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "457.604,264.199 457.604,375.869 580.315,375.869 580.315,264.199 457.604,264.199 457.604,264.199 \n",
       "  \" fill=\"#ac8d18\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  457.604,264.199 457.604,375.869 580.315,375.869 580.315,264.199 457.604,264.199 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "32.4745,309.389 32.4745,375.869 48.8264,375.869 48.8264,309.389 32.4745,309.389 32.4745,309.389 \n",
       "  \" fill=\"#00a9ad\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,309.389 32.4745,375.869 48.8264,375.869 48.8264,309.389 32.4745,309.389 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "48.8264,314.351 48.8264,375.869 98.6541,375.869 98.6541,314.351 48.8264,314.351 48.8264,314.351 \n",
       "  \" fill=\"#00a9ad\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  48.8264,314.351 48.8264,375.869 98.6541,375.869 98.6541,314.351 48.8264,314.351 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "98.6541,325.376 98.6541,375.869 317.536,375.869 317.536,325.376 98.6541,325.376 98.6541,325.376 \n",
       "  \" fill=\"#00a9ad\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  98.6541,325.376 98.6541,375.869 317.536,375.869 317.536,325.376 98.6541,325.376 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "317.536,316.842 317.536,375.869 457.604,375.869 457.604,316.842 317.536,316.842 317.536,316.842 \n",
       "  \" fill=\"#00a9ad\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  317.536,316.842 317.536,375.869 457.604,375.869 457.604,316.842 317.536,316.842 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "457.604,319.16 457.604,375.869 580.315,375.869 580.315,319.16 457.604,319.16 457.604,319.16 \n",
       "  \" fill=\"#00a9ad\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  457.604,319.16 457.604,375.869 580.315,375.869 580.315,319.16 457.604,319.16 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "32.4745,348.96 32.4745,375.869 48.8264,375.869 48.8264,348.96 32.4745,348.96 32.4745,348.96 \n",
       "  \" fill=\"#ed5d92\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  32.4745,348.96 32.4745,375.869 48.8264,375.869 48.8264,348.96 32.4745,348.96 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "48.8264,353.087 48.8264,375.869 98.6541,375.869 98.6541,353.087 48.8264,353.087 48.8264,353.087 \n",
       "  \" fill=\"#ed5d92\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  48.8264,353.087 48.8264,375.869 98.6541,375.869 98.6541,353.087 48.8264,353.087 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "98.6541,360.733 98.6541,375.869 317.536,375.869 317.536,360.733 98.6541,360.733 98.6541,360.733 \n",
       "  \" fill=\"#ed5d92\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  98.6541,360.733 98.6541,375.869 317.536,375.869 317.536,360.733 98.6541,360.733 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "317.536,354.539 317.536,375.869 457.604,375.869 457.604,354.539 317.536,354.539 317.536,354.539 \n",
       "  \" fill=\"#ed5d92\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  317.536,354.539 317.536,375.869 457.604,375.869 457.604,354.539 317.536,354.539 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9202)\" points=\"\n",
       "457.604,355.439 457.604,375.869 580.315,375.869 580.315,355.439 457.604,355.439 457.604,355.439 \n",
       "  \" fill=\"#ed5d92\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9202)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  457.604,355.439 457.604,375.869 580.315,375.869 580.315,355.439 457.604,355.439 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9200)\" points=\"\n",
       "492.953,153.651 562.315,153.651 562.315,32.691 492.953,32.691 \n",
       "  \" fill=\"#ffffff\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  492.953,153.651 562.315,153.651 562.315,32.691 492.953,32.691 492.953,153.651 \n",
       "  \"/>\n",
       "<polygon clip-path=\"url(#clip9200)\" points=\"\n",
       "498.953,53.859 534.953,53.859 534.953,41.763 498.953,41.763 498.953,53.859 \n",
       "  \" fill=\"#009af9\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  498.953,53.859 534.953,53.859 534.953,41.763 498.953,41.763 498.953,53.859 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 540.953, 52.311)\" x=\"540.953\" y=\"52.311\">D</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip9200)\" points=\"\n",
       "498.953,68.979 534.953,68.979 534.953,56.883 498.953,56.883 498.953,68.979 \n",
       "  \" fill=\"#e26f46\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  498.953,68.979 534.953,68.979 534.953,56.883 498.953,56.883 498.953,68.979 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 540.953, 67.431)\" x=\"540.953\" y=\"67.431\">E</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip9200)\" points=\"\n",
       "498.953,84.099 534.953,84.099 534.953,72.003 498.953,72.003 498.953,84.099 \n",
       "  \" fill=\"#3da44d\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  498.953,84.099 534.953,84.099 534.953,72.003 498.953,72.003 498.953,84.099 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 540.953, 82.551)\" x=\"540.953\" y=\"82.551\">F</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip9200)\" points=\"\n",
       "498.953,99.219 534.953,99.219 534.953,87.123 498.953,87.123 498.953,99.219 \n",
       "  \" fill=\"#c271d2\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  498.953,99.219 534.953,99.219 534.953,87.123 498.953,87.123 498.953,99.219 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 540.953, 97.671)\" x=\"540.953\" y=\"97.671\">G</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip9200)\" points=\"\n",
       "498.953,114.339 534.953,114.339 534.953,102.243 498.953,102.243 498.953,114.339 \n",
       "  \" fill=\"#ac8d18\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  498.953,114.339 534.953,114.339 534.953,102.243 498.953,102.243 498.953,114.339 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 540.953, 112.791)\" x=\"540.953\" y=\"112.791\">H</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip9200)\" points=\"\n",
       "498.953,129.459 534.953,129.459 534.953,117.363 498.953,117.363 498.953,129.459 \n",
       "  \" fill=\"#00a9ad\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  498.953,129.459 534.953,129.459 534.953,117.363 498.953,117.363 498.953,129.459 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 540.953, 127.911)\" x=\"540.953\" y=\"127.911\">I</text>\n",
       "</g>\n",
       "<polygon clip-path=\"url(#clip9200)\" points=\"\n",
       "498.953,144.579 534.953,144.579 534.953,132.483 498.953,132.483 498.953,144.579 \n",
       "  \" fill=\"#ed5d92\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip9200)\" style=\"stroke:#000000; stroke-width:1; stroke-opacity:1; fill:none\" points=\"\n",
       "  498.953,144.579 534.953,144.579 534.953,132.483 498.953,132.483 498.953,144.579 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip9200)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:12; text-anchor:start;\" transform=\"rotate(0, 540.953, 143.031)\" x=\"540.953\" y=\"143.031\">J</text>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plot(reduce(Mosaic(String, String), t; select = (:cut, :color)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Statistical Models\n",
    "\n",
    "- We can build linear (and ridge) regression models using the `LinRegBuilder` and `LinReg` types.\n",
    "\n",
    "## `LinRegBuilder(p)`\n",
    "\n",
    "- `LinRegBuilder` builds a data structure that allows you to regress any of the observed columns on any subset of other columns."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinRegBuilder of 7 variables"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = (:carat,:depth,:table,:price,:x,:y,:z)\n",
    "\n",
    "o = reduce(LinRegBuilder(7), t; select = x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- If we wish to fit a model with formula:\n",
    "```\n",
    "price ~ carat + depth + table + x + y + z + 1\n",
    "```\n",
    "  We can specify the `y` variable to be the 4-th column, which was `:price`.  By default, an intercept (bias) term is included as the last coefficient."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[1m\u001b[36mInfo: \u001b[39m\u001b[22m\u001b[36mRegress 4 on [1, 2, 3, 5, 6, 7] with bias\n",
      "\u001b[39m"
     ]
    },
    {
     "data": {
      "text/plain": [
       "7-element Array{Float64,1}:\n",
       " 10686.3   \n",
       "  -203.154 \n",
       "  -102.446 \n",
       " -1315.67  \n",
       "    66.3216\n",
       "    41.6277\n",
       " 20849.3   "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "coef(o; y=4, verbose=true)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- We can then create a different regression (without revisiting data) based on the formula\n",
    "\n",
    "  ```\n",
    "  carat ~ x + y + z\n",
    "  ```\n",
    "\n",
    "  by specifying the `y` and `x` variables and removing the `bias`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3-element Array{Float64,1}:\n",
       "  0.1764    \n",
       " -0.0311904 \n",
       "  0.00663214"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "coef(o; y=1, x = 5:7, bias = false)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## `LinReg()`\n",
    "\n",
    "- The `LinReg` type allows you to fit linear regression with an optional L2 (ridge) penalty.\n",
    "- One thing to note is that besides `LinRegBuilder`, models in OnlineStats expect data as a tuple: `(x, y)`.\n",
    "  - This requires selections to take the form: `((xvars...), yvar)`.\n",
    "  \n",
    "\n",
    "- In this example, we'll create the model:\n",
    "```\n",
    "carat ~ x + y + z\n",
    "```\n",
    "- Note that we found the same result as we did with `LinRegBuilder` above."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3-element Array{Float64,1}:\n",
       " 0.0857209\n",
       " 0.0386171\n",
       " 0.0400087"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o = reduce(LinReg(), t; select = ((:x, :y, :z), :carat))\n",
    "\n",
    "coef(o, 0.1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Other Models\n",
    "\n",
    "- **OnlineStats** has a variety of methods that are more advanced than linear regression.  \n",
    "- They're beyond the scope of this introduction, but interested readers can investigate the following:\n",
    "\n",
    "### `StatLearn` (Stochastic approximation for linear statistical learning models)\n",
    "\n",
    "### `NBClassifier` (Naive Bayes Classifier)\n",
    "\n",
    "### `FastTree`/ `FastForest` (experimental online decision trees/random forests)\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Julia 0.6.2-pre",
   "language": "julia",
   "name": "julia-0.6"
  },
  "language_info": {
   "file_extension": ".jl",
   "mimetype": "application/julia",
   "name": "julia",
   "version": "0.6.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
